Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133881
  • 博文数量: 20
  • 博客积分: 266
  • 博客等级: 二等列兵
  • 技术积分: 317
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-28 14:15
文章存档

2013年(4)

2012年(16)

我的朋友

发布时间:2013-01-13 00:04:17

USB协议: 先看USB接口 可以看出,在USB使用了4根线,分别为电源线,地线,信号线和差分信号线 差分信号线用于检测信号线的传输是否正确 下面我们只关注信号线 然后是USB的串口传输 在串口传输中,由于所有的信号共用一根数据线,所以不仅有先来后到的问题,而且在一个设备和另一个设备进行通信的时候,如果别的设备也进来插一脚,就会导致信号的出错,所以这个时候需要一个管理者,他说好,A设备和我通信,A设备才和管理者通信,通信完成后,管理者说现在到B设备和我通信,A设备你歇一歇,于是B设备才能和管理者通信 在USB协议中,这个管理者称为host,在一个usb组成的......【阅读全文】

阅读(1497) | 评论(0) | 转发(0)

发布时间:2012-12-23 12:26:10

 走完之前的程序后的数据结构如下   注意,之后会把local中的数据清空好,到下一组为0x09, 0x01这是一个局域项目,重新向局域结构中添加项目下一个组为0xa1, 0x00这是一个主项目,用于物理集合收集的开始添加完成后的数据结构如下   又把局域结构中的数据清零到下一组,为0x05, 0x09这是一个全局项目,重设用途继续下一组, 0x19, 0x01这是一个局域项目,用途为设定添加项目的最小值//设置开始设置的最小项         c......【阅读全文】

阅读(2198) | 评论(0) | 转发(0)

发布时间:2012-12-23 11:52:44

现在终于开始匹配设备的接口驱动了目标当然是hid,当然在了解驱动初始化过程之前,让我们先看看一下hid协议我对hid协议的理解是建立在鼠标上的,所以如果有理解不当的地方,请务必请大家指出我们先来看鼠标的结构,鼠标有左键,右键,中键,滚轮,X轴和Y轴这6个量其中左键,右键和中键的点击可以用0和1两个数值来表达,呢么就占1bit然后是X轴,Y轴和滚轮,我们假设他们的相对数值变化范围为-127到127,呢么就是255个数,用8个bit也就是1个字节来表示如下图   左键,右键和中键属于按键而X轴,Y轴,滚轮属于量在hid中不同两种类别的数据需要用字节来间隔,也就是说左键,右键和中键......【阅读全文】

阅读(1669) | 评论(0) | 转发(0)

发布时间:2012-12-23 11:52:15

Andrew Huang <bluedrum@163.com> 转载请注明作者及出处(http://bluedrum.cublog.cn)    在USB的枚举后,即交互完 设备描述符(device descriptor),配置描述符(configure descriptor),接口描述符(interface descriptor)和终端描述符(endpointer desciptor)。如果是HID设备,即class值为3设备交互还会发送一系统的特殊包来描述HID设备的特性。    这一些描述HID的特性称为Report Desc......【阅读全文】

阅读(2176) | 评论(0) | 转发(0)

发布时间:2012-12-21 00:42:57

------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ ------------------------------------------ 一:前言 继前面分析过UHCI和HUB驱动之后,接下来以HID设备驱动为例来做一个具体的USB设备驱动分析的例子.HID是Human Interface Devices的缩写.翻译成中文即为人机交互设备.这里的人机交互设备是一个宏观上面的概念,任何设备,只要符合HID spec,都可以称之为HID设备.常见的HI......【阅读全文】

阅读(2018) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

ch_ff2013-04-10 10:37

不错的东西,有奉献精神

回复  |  举报
留言热议
请登录后留言。

登录 注册