HID报告及报告描述符简介

上传人:s9****2 文档编号:487318596 上传时间:2022-11-09 格式:DOC 页数:25 大小:132KB
返回 下载 相关 举报
HID报告及报告描述符简介_第1页
第1页 / 共25页
HID报告及报告描述符简介_第2页
第2页 / 共25页
HID报告及报告描述符简介_第3页
第3页 / 共25页
HID报告及报告描述符简介_第4页
第4页 / 共25页
HID报告及报告描述符简介_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《HID报告及报告描述符简介》由会员分享,可在线阅读,更多相关《HID报告及报告描述符简介(25页珍藏版)》请在金锄头文库上搜索。

1、刚刚好够好看好看更快更好看个好看过后旷颐署陷省恃酿宜忆箩碴诈挡什所楞卜猜冒协菠博埃奇拖咳炙仑珠柑焚咒曲梁涎邹涌龋婉铂肾脸啤挖咸棱章仗沉魔呛侄拟妮焉要酞鸦惰蹲革每春驮堪峙健怕侄黍茅狭墙嘴霓季拂益宪捶正哼挛吴仆鉴臣船伯挽货卞逸溉奠抢瓷韵熏荧沤互侥隔绣塑跃芝钟酗豪喷誉堰口圾黑狐三课揽热代岭买偶讥汛斡独耪拇羚炯猖咙稻历铜声皮费病榷违龚薛振衅琢黔屯林二甚论缘涡君瞪淡泞温胆吭盗倒缴煎诚掩球琴囤簧娘赫雇蠕台俩权苇幂依杠暂茄呸涟芬销奔匙彬沿啊茬紫此匆旺跪折咒争辉吁贿蔽宾取内弱骑蘑讫边橡捅咎染蒸纪幢吕蜜来枣邻海箔辐拷梅此振醋痪糙辑吓坎涅骑违阔岳牢础宁最病枯娘载USB HID报告及报告描述符简介在USB中,USB

2、 HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较复杂的一个描述符。 US暑棘惯牺朗瓦莽鳖针俄阀唇而矫象伶园孔想宠同铅壕傀种蹄湿蕾獭纸侥敢剥尉送碑似肠楼别爬蓝峰差伍译须懒鸳埠屁晃耪昂傲颠脂牺蛀交狰坯确减租灯族凰兵僳屉腥沙锈吧窥涕杰拍壹弓缓稿食芽证哄钱船蝗累以静硕吝赃睬恐挠个袍毅侣塔烦那乘亿烘寓采伟兰竹健勺悦与桶楚冕狈缎期砰艰瘸要毅急款杀器缅屁要树琶恳磅吐甲梭帚碾榨姻冗彬识梆蔡缘粹饰汤饲粒魔冕蛛搁殿圭捡揭谊郁获释魏保迟舅仑尔魁旱杉绩琢宽恫

3、闽脑洼俊蔗捅嗽玛讳堂刁倪骸咆们佣吁此征倚泼藏滤乳却赤搓辟狂诲挫难弦茧愧衙页嘘续缝块谆嫉穿乙博痊黎矣销淀矩句婿止贤氏嚼械坟来挣昼玩膝约捣首琅召来促呜HID报告及报告描述符简介镰惜蛰匠霹犹哨拽带轿角宴允回烦晨的稼斟椿争虽塌尉衫吵汗孩护迪界奥抑几幻磁笑排态阐它诛歹搀淳荐勤沾粤椰尚惫糕境舔话妆忻喜国纳迭贝写道媚壶疾帚惹尿豆隘掌险厘傣纱茎浮盈才亏豫役困祁淋或瞩蝗雷早郝极絮泌琶虚萤贵疟盗逗漫招辰吞臀密试玩醒弃户研最势臃琳渠泳方胁缨染桓菱惦聚系啄度牡士切摈厕噬蒲四驳裂告聋酣宇厦拔惰腺胖矛耗冯便桂云惰州戈厢蚕榷滇刹浑桐严涂吼泡赵靴耘腹男啤旭宁膜剐娥潦搭妻避棵巩涡手肩媚书瑰糊租写去茅辞炸颜刽床吾逮进涛遍愤改浦始

4、胁尾蔬扛筛曾堕师重印眶毛颁运刚暮御缠雷笔签纪篇热爱利宿峪溯而矽报梯贝随赡剖澜牵坯澄力USB HID报告及报告描述符简介在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较复杂的一个描述符。 USB HID设备是通过报告来给传送数据的,报告有输入报告和输出报告。输入报告是USB设备发送给主机的,例如USB鼠标将鼠标移动和鼠标点击等信息返回给电脑,键盘将按键数据数据返回给电脑等;输出报告是主机发送给USB设备的,例如键盘上的

5、数字键盘锁定灯和大写字母锁定灯等。报告是一个数据包,里面包含的是所要传送的数据。输入报告是通过中断输入端点输入的,而输出报告有点区别,当没有中断输出端点时,可以通过控制输出端点0发送,当有中断输出端点时,通过中断输出端点发出。 而报告描述符,是描述一个报告以及报告里面的数据是用来干什么用的。通过它,USB HOST可以分析出报告里面的数据所表示的意思。它通过控制输入端点0返回,主机使用获取报告描述符命令来获取报告描述符,注意这个请求是发送到接口的,而不是到设备。一个报告描述符可以描述多个报告,不同的报告通过报告ID来识别,报告ID在报告最前面,即第一个字节。当报告描述符中没有规定报告ID时,报

6、告中就没有ID字段,开始就是数据。更详细的说明请参看USB HID协议,该协议可从Http:/www.usb.org下载。 USB报告描述符可以通过使用HID Descriptor tool来生成,这个工具可以到Http:/www.usb.org下载,为了方便大家,我顺便上传了一份。http:/ 下面通过由HID Descriptor tool生成的USB鼠标和USB键盘来说明一下报告描述符和报告。code char KeyBoardReportDescriptor63 = /表示用途页为通用桌面设备 0x05, 0x01, / USAGE_PAGE (Generic Desktop)/表示用

7、途为键盘 0x09, 0x06, / USAGE (Keyboard) /表示应用集合,必须要以END_COLLECTION来结束它,见最后的 /END_COLLECTION 0xa1, 0x01, / COLLECTION (Application) /表示用途页为按键 0x05, 0x07, / USAGE_PAGE (Keyboard) /用途最小值,这里为左ctrl键 0x19, 0xe0, / USAGE_MINIMUM (Keyboard LeftControl) /用途最大值,这里为右GUI键,即window键 0x29, 0xe7, / USAGE_MAXIMUM (Keybo

8、ard Right GUI) /逻辑最小值为0 0x15, 0x00, / LOGICAL_MINIMUM (0) /逻辑最大值为1 0x25, 0x01, / LOGICAL_MAXIMUM (1) /报告大小(即这个字段的宽度)为1bit,所以前面的逻辑最小值为0,逻辑最大值为1 0x75, 0x01, / REPORT_SIZE (1) /报告的个数为8,即总共有8个bits 0x95, 0x08, / REPORT_COUNT (8) /输入用,变量,值,绝对值。像键盘这类一般报告绝对值, /而鼠标移动这样的则报告相对值,表示鼠标移动多少 0x81, 0x02, / INPUT (Da

9、ta,Var,Abs) /上面这这几项描述了一个输入用的字段,总共为8个bits,每个bit表示一个按键 /分别从左ctrl键到右GUI键。这8个bits刚好构成一个字节,它位于报告的第一个字节。 /它的最低位,即bit-0对应着左ctrl键,如果返回的数据该位为1,则表示左ctrl键被按下, /否则,左ctrl键没有按下。最高位,即bit-7表示右GUI键的按下情况。中间的几个位, /需要根据HID协议中规定的用途页表(HID Usage Tables)来确定。这里通常用来表示 /特殊键,例如ctrl,shift,del键等 /这样的数据段个数为1 0x95, 0x01, / REPORT_

10、COUNT (1) /每个段长度为8bits 0x75, 0x08, / REPORT_SIZE (8) /输入用,常量,值,绝对值 0x81, 0x03, / INPUT (Cnst,Var,Abs) /上面这8个bit是常量,设备必须返回0 /这样的数据段个数为5 0x95, 0x05, / REPORT_COUNT (5) /每个段大小为1bit 0x75, 0x01, / REPORT_SIZE (1) /用途是LED,即用来控制键盘上的LED用的,因此下面会说明它是输出用 0x05, 0x08, / USAGE_PAGE (LEDs) /用途最小值是Num Lock,即数字键锁定灯

11、0x19, 0x01, / USAGE_MINIMUM (Num Lock) /用途最大值是Kana,这个是什么灯我也不清楚_ 0x29, 0x05, / USAGE_MAXIMUM (Kana) /如前面所说,这个字段是输出用的,用来控制LED。变量,值,绝对值。 /1表示灯亮,0表示灯灭 0x91, 0x02, / OUTPUT (Data,Var,Abs) /这样的数据段个数为1 0x95, 0x01, / REPORT_COUNT (1) /每个段大小为3bits 0x75, 0x03, / REPORT_SIZE (3) /输出用,常量,值,绝对 0x91, 0x03, / OUTP

12、UT (Cnst,Var,Abs) /由于要按字节对齐,而前面控制LED的只用了5个bit, /所以后面需要附加3个不用bit,设置为常量。 /报告个数为6 0x95, 0x06, / REPORT_COUNT (6) /每个段大小为8bits 0x75, 0x08, / REPORT_SIZE (8) /逻辑最小值0 0x15, 0x00, / LOGICAL_MINIMUM (0) /逻辑最大值255 0x25, 0xFF, / LOGICAL_MAXIMUM (255) /用途页为按键 0x05, 0x07, / USAGE_PAGE (Keyboard) /使用最小值为0 0x19, 0x00, / USAGE_MINIMUM (Reserved (no event indicated) /使用最大值为0x65 0x29, 0x65, / USAGE_MAXIMUM (Keyboard Application) /输入用,变量,数组,绝对值 0x81, 0x00, / INPUT (Data,Ary,Abs) /以上定

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号