HID 报告描述符终极解析

HID 报告描述符终极解析

ID:40632601

大小:353.38 KB

页数:12页

时间:2019-08-05

HID 报告描述符终极解析_第1页
HID 报告描述符终极解析_第2页
HID 报告描述符终极解析_第3页
HID 报告描述符终极解析_第4页
HID 报告描述符终极解析_第5页
资源描述:

《HID 报告描述符终极解析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、USBHIDReport终极解析HID的报告描述符巨难懂,关键是数据格式与每一位代表的意思。经过三天的研究,终于将HIDReport的每一个数据位的含义弄清楚了,现将数据解析如下,最后附上了一个HID通信的Report例子。以一个键盘的HIDReport为例:键盘的HID报告描述符:codecharKeyBoardReportDescriptor[63]={0x05,0x01,//USAGE_PAGE(GenericDesktop)0x09,0x06,//USAGE(Keyboard)0xa1,0x01,//COLLECTION(Application)0x05

2、,0x07,//USAGE_PAGE(Keyboard)0x19,0xe0,//USAGE_MINIMUM(KeyboardLeftControl)0x29,0xe7,//USAGE_MAXIMUM(KeyboardRightGUI)0x15,0x00,//LOGICAL_MINIMUM(0)0x25,0x01,//LOGICAL_MAXIMUM(1)0x75,0x01,//REPORT_SIZE(1)0x95,0x08,//REPORT_COUNT(8)0x81,0x02,//INPUT(Data,Var,Abs)0x95,0x01,//REPORT_COUN

3、T(1)0x75,0x08,//REPORT_SIZE(8)0x81,0x03,//INPUT(Cnst,Var,Abs)0x95,0x05,//REPORT_COUNT(5)0x75,0x01,//REPORT_SIZE(1)0x05,0x08,//USAGE_PAGE(LEDs)0x19,0x01,//USAGE_MINIMUM(NumLock)0x29,0x05,//USAGE_MAXIMUM(Kana)0x91,0x02,//OUTPUT(Data,Var,Abs)0x95,0x01,//REPORT_COUNT(1)0x75,0x03,//REPORT

4、_SIZE(3)0x91,0x03,//OUTPUT(Cnst,Var,Abs)0x95,0x06,//REPORT_COUNT(6)0x75,0x08,//REPORT_SIZE(8)0x15,0x00,//LOGICAL_MINIMUM(0)0x25,0xFF,//LOGICAL_MAXIMUM(255)0x05,0x07,//USAGE_PAGE(Keyboard)0x19,0x00,//USAGE_MINIMUM(Reserved(noeventindicated))0x29,0x65,//USAGE_MAXIMUM(KeyboardApplicatio

5、n)0x81,0x00,//INPUT(Data,Ary,Abs)0xc0//END_COLLECTION};具体分析如下:codecharKeyBoardReportDescriptor[63]={0x05,0x01,//USAGE_PAGE(GenericDesktop)//分析根据HID短项目数据格式短项目的编码形式如下:Bits23222120191817161514131211109876543210[data][data]bTagbTypebSize0x05=000001010000:UsagePage01:bType,全局(bType=0:主项目;

6、bType=1:全局项目;bType=2:区域项目;)01:bSize,1字节(BSize用来指出项目的数据所需字节的数目,该数目仅可以为0(当bSize=0),1(当bSize=1),2(当bSize=2),和4(当bSize=3)﹔注意不可以为3个字节。大部分的卷标仅需一个字节的数据﹔全局项目的卷标Unit比较特殊有可能最多用到4个字节来表示其资料。)0x01:GenericDesktop(查文档UniversalSerialBusHIDUsageTables,第三节UsagePages)0x09,0x06,//USAGE(Keyboard)//分析0x09

7、=00001001根据HID短项目格式0000:Usage10:bType,区域项目01:bSize,1字节0x06:KeyBoard(查文档UniversalSerialBusHIDUsageTables,第四节)0xa1,0x01,//COLLECTION(Application)//分析0xa1:0x01:(卷标EndCollection没有跟随任何资料。但是卷标Collection跟随一个字节的数据,例如指针的数据名为Physical,而鼠标的为Application。所有Collection的数据名称与代码如表7:表7:报告集合的名称与代码NamedU

8、sageUsagePhy

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

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

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