自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (2)
  • 收藏
  • 关注

转载 [vc]如何对radio按钮分组

如何使用多组?多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了。再为对话框添加Radio3和Radio4。很简单,先为这些RadioButton排个顺序,就是排列他们的TABORDER。在对话框资源面板上Ctrl+D,然后按你自己的理想顺序用鼠标逐个点击就可以了。不妨假设Radio1、Radio2、Radio3、Radio4分别是1、2、3、4。Radio1和Radi

2013-09-30 00:36:05 6932

转载 m_pMainWnd = &dlg错误解决方法

这两天在写MFC程序的时候经常碰到这种情况,开始真的很让我速手无策呀。在网上的我看到有两种可以解决这种问题的方法:一是,直接把这句话注释掉,然后你再运行也就可以通过了。还有一种就是,你重新‘全部重建‘(REBUILD ALL)’,重建之后也同样可以了。我个人还是赞同大家用第二种会比较好点

2013-09-29 23:25:54 2257

转载 I2C设备驱动编写,struct i2c_device_id,struct i2c_driver,i2c_add_driver,i2c_register_board_info

我的理念:简单实用即可,不要搞一堆源码出来,结果让人看了以后还不知道怎么用,看我的:1、在arch/arm/mach-xxx/ 自己的平台文件里添加i2c信息,美其名曰:i2c_board_info例如:static struct i2c_board_info __initdata xxxi2c_board_info[] = {    {        I2C_BOAR

2013-09-29 15:12:22 2166

转载 实例解析linux内核I2C体系结构(2)

作者:刘洪涛,华清远见嵌入式学院讲师。四、在内核里写i2c设备驱动的两种方式前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(new style)”。(1) Ada

2013-09-29 14:19:16 891

转载 实例解析linux内核I2C体系结构(1)

作者:刘洪涛,华清远见嵌入式学院讲师。一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有:        ●    思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。第一种方

2013-09-29 14:10:49 968

转载 linux内核I2C子系统学习(三)

写设备驱动:四部曲:构建i2c_driver注册i2c_driver构建i2c_client ( 第一种方法:注册字符设备驱动、第二种方法:通过板文件的i2c_board_info填充,然后注册) 注销i2c_driver具体如下:●    构建i2c_driver?staticstruct i2c_driver pca9

2013-09-29 13:50:14 799

转载 linux内核I2C子系统学习(二)

下面具体分析如何写第一部分:主控芯片的i2c驱动分为2个步骤:写总线驱动:选了个主控芯片,比如:S3C8900(自己瞎编的芯片)在driver/i2c/busses/i2c-s3c2410.c中没有找到这个芯片的I2C支持(总线驱动支持)。。。(倒霉了,没有选好芯片,也可能是最新型号的,linux内核没跟上)在此之前先分析i2c-s3c2410.c中完成的工作(总线驱动):

2013-09-29 13:49:36 757

转载 linux内核I2C子系统学习(一)

这部分准备分几个部分进行分析总结因为I2C的通信肯定至少要有2个芯片完成,所以它的驱动是由2大部分组成:主芯片的i2c的驱动从芯片的i2c的驱动    注:万一选的都不支持咋办???(惨了,只能2个芯片的驱动都得实现了,不过过程差不多) (一).主芯片的I2C的驱动:(具体如何实现在后面在具体讲解) 首先要查看linux内核是否支持主芯片中i2c驱动器,如果

2013-09-29 13:46:57 755

转载 Linux的I2C 设备驱动 -- mini2440 上i2c接口触摸屏驱动

本篇记录在友善之臂 mini2440 平台上挂载I2C接口触摸屏的驱动开发过程。内核版本linux-2.6.32.2, 平台是ARM9 S3C2440+I2C接口的触摸屏如上篇Linux的I2C驱动体系结构讲述http://www.lupaworld.com/273398/viewspace-204237.html要挂载新的I2C设备,需要实现3部分:1)

2013-09-29 06:47:52 1144

转载 电容屏原理

电容屏 电容技术的触摸屏是一块四层复合玻璃屏,如下图所示。玻璃屏的内表面和夹层各涂有一层ITO导电层,最外层是只有0.0015毫米厚的矽土玻璃保护层。内层ITO作为屏蔽层,以保证良好的工作环境,夹层ITO涂层作为检测定位的工作层,在四个角或四条边上引出四个电极。电容屏基本工作原理的最初想法是:人是假象的接地物(零电势体),给工作面通上一个很低的电压,当用户触摸屏幕时,手指头吸收走一

2013-09-28 20:06:30 1281

转载 linux下i2c接口的电容触摸屏驱动开发

原文地址: http://hi.baidu.com/god_sperm/blog/item/2aaac228e8a1ece8e7cd400a.html电容触摸屏2011-01-14 15:36        1.Kconfig文件           增加宏定义  2.Makefile文件          增加编译处理  3.添加程序源码Touch screen

2013-09-28 20:05:49 3059

转载 i2c_add_driver函数用法

I2C的设备驱动是通过i2c_add_driver(&my_driver)向i2c-core注册的,my_driver中的核心是detach和attach函数,在attach中通过probe探测到总线上的设备并把设备和驱动建立连接以完成设备的初始化。如何探测总线上的设备、Linux中i2c设备地址如何标识并引用?I2C中, 典型的attach如下所示:static int my_att

2013-09-28 19:12:42 1114

转载 Linux I2C核心、总线与设备驱动(二)

从上面的分析可知,虽然I2C硬件体系结构比较简单,但是I2C体系结构在Linux中的实现却相当复杂。当工程师拿到实际的电路板,面对复杂的 Linux I2C子系统,应该如何下手写驱动呢?究竟有哪些是需要亲自做的,哪些是内核已经提供的呢?理清这个问题非常有意义,可以使我们面对具体问题时迅速地抓住重点。    一方面,适配器驱动可能是Linux内核本身还不包含的。另一方面,挂接在适配器上的具体

2013-09-28 17:36:32 1014

转载 Linux I2C核心、总线与设备驱动(一)

本章导读I2C总线仅仅使用SCL、SDA两根信号线就实现了设备之间的数据交互,极大地简化对硬件资源和PCB板布线空间的占用。因此,I2C总线被非常广泛地应用在EEPROM、实时钟、小型LCD等设备与CPU的接口中。Linux定义了系统的I2C驱动体系结构,在Linux系统中,I2C驱动由3部分组成,即I2C核心、I2C总线驱动和I2C设备驱动。这3部分相互协作,形成了非常通用、可适应性很强

2013-09-28 17:23:22 1038

转载 linux powerpc i2c驱动 之 i2c设备层的注册过程

Linux下i2c驱动的加载过程,分为i2c设备层、i2c adapter层与i2c核心层i2c设备驱动层也就是我们为特定i2c设备编写的驱动,下面是我自己理解的i2c驱动的注册过程在我们写的i2c设备驱动中,我们会调用i2c_add_driver()开始i2c设备驱动的注册,该函数调用i2c_register_driver完成所有注册操作  [plain] v

2013-09-28 17:10:59 974 1

转载 android平台的s5pc110触摸屏驱动分析

内核linux2.6.35 andorid2.3 触摸屏型号ft5xo6首先给出该触摸屏的一些结构体---->drivers/input/touchscreen/ft5x06_ts.h点击(此处)折叠或打开#ifndef __LINUX_FT5X0X_TS_H__#define __LINUX_FT5X0X_TS_H__#define SCREEN_

2013-09-28 15:53:13 1859

转载 中断请求request_irq

今天在跟marvell沟通问题的时候,觉得有些地方的代码看得不够仔细,于是细看了一下。发现了几个请求中断的函数。request_threaded_irq,这个函数在内核中有注释,参数有好多,大概参数有handler,这是要指定的中断处理函数,thread_fn是要在内核线程中调用的函数,还有申请中断的flag,有SHARED共享,共享时dev_id不能为空,因为要在释放irq时区别共享的中断,

2013-09-28 15:12:25 1093

转载 request_threaded_irq()

今天在跟marvell沟通问题的时候,觉得有些地方的代码看得不够仔细,于是细看了一下。发现了几个请求中断的函数。request_threaded_irq,这个函数在内核中有注释,参数有好多,大概参数有handler,这是要指定的中断处理函数,thread_fn是要在内核线程中调用的函数,还有申请中断的flag,有SHARED共享,共享时dev_id不能为空,因为要在释放irq时区别共享的中断,

2013-09-28 15:11:45 5379

转载 Mysql命令大全

1、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进

2013-09-26 15:10:33 692

转载 'ADB server didn't ACK'的解决办法

网上搜了很多种,但是对我来说都不管用。引起这个错误的原因是有很多方面的。1.软件冲突。首先是豌豆荚,尝试关闭豌豆荚,重启eclipse后尝试run as android application....2.进程里关闭adb.exe,重启eclipse3.软件更新android-sdk的更新 有个老外总结的比较全面:Try below steps:Close

2013-09-25 22:22:47 778

转载 ubuntu下使用UVC摄像头

导师让学习opencv编程,想用Qt但是发现windows上Qt使用directshow非常麻烦,就想到linux上编程,于是买一普通摄像头,回来一看,插在ubuntu电脑上没有反应,知道视驱动的问题,开始探寻如何在ubuntu上使用。具体操作如下:首先使用lsusb命令:Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 roo

2013-09-25 10:26:21 2552

转载 关闭TCP连接的学问

从TCP协议角度来看,一个已建立的TCP连接有两种关闭方式,一种是正常关闭,即四次挥手关闭连接;还有一种则是异常关闭,我们通常称之为连接重置(RESET)。        首先说一下正常关闭时四次挥手的状态变迁,关闭连接的主动方状态变迁是FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT,而关闭连接的被动方的状态变迁是CLOSE_WAIT->LAST_ACK->TIME_WAI

2013-09-24 16:18:37 686

转载 制作.ppm格式Linux内核启动logo

在做的产品中,采用默认的小企鹅做logo肯定是不行的,所以一定要替换个像样的企业logo图片!          以前做过Linux启动Logo,时间太久,给忘了,所以再从新研究下。          经过在网上的搜索,和实际验证,制作Linux启动logo的步骤如下:          1、在Linux系统中安装所需的包netpbm。我用的Fedora 10,刚开始安装命令是yum

2013-09-23 11:50:46 5560

转载 Linux TCP server系列(6)-select模式下的多线程server

目标:  修改上一篇的select模式下的server,让它使用多线程来处理客户端请求(多进程的模式已经在上篇中加了注释)。 思路:  (1)服务器          我们已经在之前的客户端模型多个并发用户的过程中使用过多线程的技术了(其中还涉及到多线程利用条件变量进行线程同步),在这里我们可以很轻松的在上篇文章代码中加入线程部分代码。//for thread     

2013-09-22 17:31:51 1045

转载 Linux TCP server系列(5)-select模式下的单进程server

目标: 让服务器退化为单进程模式,但是利用select来提升性能 思路:    (1)服务器       传统的单进程服务器一旦accept了客户端的TCP连接后,就转入客户请求的处理,处理完成后才能再一次的调用accept来接受下一个客户端的TCP连接和请求。       为了更加提高单进程server的性能,本程序使用select这种IO复用的模式,同时监听已经连接的s

2013-09-22 17:31:06 799

转载 学习select(函数)

select系统调用是用来让我们的程序监视多个文件句柄(file descrīptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。文件在句柄在代码都是从标准输入读入9个字节字符:#include #include #include int main(int argc, char ** argv)

2013-09-22 17:30:06 615

转载 搞IT也不能不懂“五险一金”啊

养老保险:一般要交满15年,到退休的时候才能终生享受养老金,所以想拿养老金的人请务必在自己退休前15年就开始交。如果到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全部退给你。那单位给你交的21%到哪里去了?国家把单位为你交的21%的钱全部划到国家的养老统筹基金里了。国家规定,退钱的时候只退给个人自己扣交的钱,单位为他交的钱全部都为国家做贡献。

2013-09-22 17:28:09 1608

转载 SELECT的学习以及在socket中的应用

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等 待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。 可是使用Select就可以完成非阻

2013-09-22 17:16:33 819

转载 基于TCP协议的网络程序(基础学习)

下图是基于TCP协议的客户端/服务器程序的一般流程:图 37.2. TCP协议通讯流程服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应

2013-09-22 17:14:56 1117

转载 一个网络资深者发起的思考

陈硕 (giantchen AT gmail)blog.csdn.net/Solstice前几天我在新浪微博上出了两道有关 TCP 的思考题,引发了一场讨论 http://weibo.com/1701018393/eCuxDrta0Nn 。第一道初级题目是:有一台机器,它有一个 IP,上面运行了一个 TCP 服务程序,程序只侦听一个端口,问:从理论上讲(只考虑 TC

2013-09-22 17:10:53 987

转载 Linux TCP server系列(4)-浅谈listen与大并发TCP连接

背景:   服务器在调用listen和accept后,就会阻塞在accept函数上,accpet函数返回后循环调用accept函数等待客户的TCP连接。如果这时候又大量的用户并发发起connect连接,那么在listen有队列上限(最大可接受TCP的连接数)的情况下,有多少个connect会成功了。试验证明,当连接数远远高于listen的可连接数上限时,客户端的大部分TCP请求会被抛弃,只有当

2013-09-22 17:07:56 7976

转载 socket 编程入门教程(一)TCP server 端:8、本章的完整源代码

//Filename: TcpServerClass.hpp#ifndef TCPSERVERCLASS_HPP_INCLUDED#define TCPSERVERCLASS_HPP_INCLUDED#include unistd.h>#include iostream>#include sys/socket.h>#include arpa/inet.h>c

2013-09-22 17:00:06 1160

转载 socket 编程入门教程(一)TCP server 端:7、接收与发送

现在,我们通过accept()创建了新的socket,也就是我们类中的数据成员communicationSock,现在,我们就可以通过这个socket进行通讯了。TCP通讯模型        在介绍函数之前,我们应该了解一些事实。TCP的Server/Client模型类似这样:ServApp——ServSock——Internet——ClntSock——ClntApp当然,

2013-09-22 16:57:25 939

转载 socket 编程入门教程(一)TCP server 端:6、创建“通讯 ”嵌套字

这里的“通讯”加上了引号,是因为实际上所有的socket都有通讯的功能,只是在我们的例子中,之前那个socket只负责listen,而这个socket负责接受信息并echo回去。 我们现看看这个函数:bool TcpServer::isAccept(){    unsigned int clntAddrLen = sizeof(clntAddr);    if ( (c

2013-09-22 16:54:13 793

转载 socket 编程入门教程(一)TCP server 端:5、创建监听嵌套字

前面一小节,我们已经写出了TcpServer的构造函数。这个函数的实际作用,就是创建了listen socket(监听嵌套字)。这一节,我们来具体分析这个创建的过程。socket和sockaddr的创建是可以相互独立的        在函数中,我们首先通过socket()系统调用创建了listenSock,然后通过为结构体赋值的方法具体定义了服务器端的sockaddr。(memse

2013-09-22 16:50:25 757

转载 socket 编程入门教程(一)TCP server 端:4、构造函数涉及的概念

话题回到“黑社会办公室”的例子,讲概念已经扯得比较远了,不过,这一节我们还得讲概念,不过好在有些程序的例子。如果大家不想翻回去看TcpServer类的原型,我这里直接给出这个头文件的完整源代码://Filename: TcpServerClass.hpp#ifndef TCPSERVERCLASS_HPP_INCLUDED#define TCPSERVERCLASS_HPP_I

2013-09-22 16:44:40 800

转载 socket 编程入门教程(一)TCP server 端:2、socket与文件描述符

UNIX中的一切事物都是文件(everything in Unix is a file!)        当我在这篇教程中提到UNIX的时候,其意思专指符合UNIX标准的所谓“正统”UNIX的衍生系统(其实我就用来带指那些买了最初UNIX源代码的商业系统)操作系统和类似Linux,BSD这些类UNIX系统。如果某些要点是Linux特有的,或者因为本人孤陋寡闻暂时搞不清楚是Linux特有的还

2013-09-22 16:41:06 821

转载 socket 编程入门教程(一)TCP server 端:1、建模

绝大部分关于socket编程的教程总是从socket的概念开始讲起的。要知道,socket的初衷是个庞大的体系,TCP/IP只是这个庞大体系下一个很小的子集,而我们真正能用上的更是这个子集中的一小部分:运输层(Host-to-Host Transport Layer)的TCP和UDP协议,以及使用这两个协议进行应用层(Application Layer)的开发。即使是socket的核心部分,网络层

2013-09-22 16:27:29 823

转载 socket 编程入门教程(一)TCP server 端:3、sockaddr与sockaddr_in

收件人地址        一家化妆品公司将一批新产品的样品,准备发给某学校某个班的女生们免费试用。通常情况下,这件邮包的地址上可以这么写:收件人:全体女生。地址:A省B市C学校,X级Y班。但是,如果在描述地址的时候这样写呢:收件人:全体女生。地址:请打电话xxxxxxxx,找他们学校一个叫Lucy的女生,然后把东西送到她的班上。这种文字是相当的诡异啊-_-!

2013-09-22 16:17:26 785

转载 突破select的FD_SETSIZE限制

前言: 在很多比较各种网络模型的文章中,但凡提到select模型时,都会说select受限于轮询的套接字数量,这个数量也就是系统头文件中定义的FD_SETSIZE值(例如64)。但事实上这个算不上真的限制。 C语言的偏方: 在C语言的世界里存在一个关于结构体的偏门技巧,例如:  typedefstruct _str_type{   int _len;

2013-09-17 17:13:22 2868

ucGUI学习笔记 -- 仿真器

ucGUI学习笔记 -- 仿真器 原创

2012-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除