hid协议报告描述总结.doc

hid协议报告描述总结.doc

ID:51820914

大小:320.50 KB

页数:12页

时间:2020-03-16

hid协议报告描述总结.doc_第1页
hid协议报告描述总结.doc_第2页
hid协议报告描述总结.doc_第3页
hid协议报告描述总结.doc_第4页
hid协议报告描述总结.doc_第5页
资源描述:

《hid协议报告描述总结.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、HID报告描述符主要内容整理刚刚接触USB(HID)时对【报告描述符】感到难于理解,因此就更无从下手。下面根据2个主要的协议文本整理出一些常用信息,不完整,备忘。l主要参考文本:n【协议文本1】:《DeviceClassDefinitionforHumanInterfaceDevices(HID)》Ver1.11n【协议文本2】:《UniversalSerialBusHIDUsageTables》Ver1.12每个协议文本后面的附录都有很多例子可供参考借鉴。0、主要术语与概念(1)报告(Report):HID设备

2、与主机交换信息的单位(报告字节数似乎没有限制);(2)报告描述符(ReportDescription):用许多【项目】说明报告的格式与【用途】;(3)用途(Usage):用于指出报告中某个数据域的意义或目的,32bit。高16bit用途页(UsagePage)指出用途的大类,低16bit用途ID(UsageID)指出用途大类下的子用途;(4)项目(Item):报告描述符用于说明数据域的某种属性的数据,有短项目和长项目之分,短项目1~5B,长项目3~255B;(5)共有3种类型的项目:主项目、全局项目(Global

3、)、局部项目(Local);(6)主项目(MainItem)共有5个,其中的Input、Output和Feature会产生实际的数据域并附带说明其操作特性(见2.1);其余2个Collection和EndCollection是一对括号,其间的内容构成一个【集合】,用于限定集合中信息的整体特性;(7)全局项目(GlobalItem):说明其后主项目产生的数据域的某方面特性,一旦说明一直有效,除非遇到一个新的全局项目说明改变其值;(8)局部项目(LocalItem):说明其后主项目产生的数据域的某方面特性,但只对其后

4、的一个主项目有效;(9)可以认为所有用【全局项目】说明的各种数据域特性构成一个【全局状态表】,随着新的【全局项目】出现,该表在不断变化。可以使用【全局项目】中的【push】和【pop】将该表入栈或者出栈,以简化描述符。(10)项目后的【可选数据字节】可以采用简短方式给出(不够该数据的实际位数),此时认为省略了高有效位且它们的值为0。(11)一个产生多个数据域(ReportCount>1)的主项目之前有一个以上的【用途】时,每个【用途】与一个数据域依次对应,如果数据域个数(ReportCount)超过【用途】的个数

5、,则剩余的数据域都对应于最后一个【用途】。1、短项目格式(更多细节请参见协议文本1:p26)前缀字节说明bTag项目标签指出该项目的具体意义,见后续说明bType项目类型【00】=主项目,【01】=全局项目,【10】=局部项目,【11】=保留bSize可选数据字节数【00,01,10,11】=(0,1,2,4)字节长项目很少使用,忽略。2、主项目分类(更多细节请参见协议文本1:p28)主项目说明项目标签前缀字节取值Input输入100000nnOutput输出100100nnFeature特征101100nnCo

6、llection集合开始101000nnEndCollection集合结束110000nn(nn为bSize【可选数据字节数】,后同)2.1【输入】【输出】【特征】项目的后续数据说明(更多细节请参见协议文本1:p30)Bit取值01说明(0/1)8BitFieldBufferedBytes位域/字节填充(不足8位填充成8位)7NonVolatileVolatile主机不可改变/可改变状态值,只用于Feature项目6NoNullPositionNullState没有【无效(空)状态】/有【无效(空)状态】5Pre

7、ferredStateNoPreferred无操作时回复原位(如按键或游戏杆)/不回复原位4LinearNonLinear线性/非线性3NoWrapWrap卷绕/非卷绕,【卷绕】指最大最小值首尾相连2AbsoluteRelative绝对值/相对值1ArrayVariable每个字段(ReportSize)独立触发操作/所有字段(ReportSize*ReportCount)触发一个操作0DataConstant变量/常量如果Bit8为0,则可以只给出1字节的低8位数据。2.2【集合开始】项目后的【集合类型】字节说

8、明(更多细节参见协议文本1:p33)集合类型缩写取值说明PhysicalCP0x00用于包含单个几何点的控制ApplicationCA0x01用于包含多种报告、多种应用LogicalCL0x02用于包含多种不同结构的报告数据Report0x03用于包含一个单独的报告(含有报告ID)NamedArrayNary0x04UsageSwitchUS0x05UsageModifi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。