您现在的位置是:主页 > HID规范 >
HID报告描述符全局项REPORT_COUNT和REPORT_SIZE
发布时间:2022-12-09 18:44:15所属栏目:HID规范 已帮助人编辑作者:【USB接口百科】
HID报告描述符全局项ReportCount和ReportSize用于指示报告描述符数据项的大小,其中:
REPORT_COUNT:用于指定LOCAL USAGE的个数REPORT_SIZE:用于指定每个USAGE的数据大小。如鼠标的X和Y坐标
USAGE (X) 09 30
USAGE (Y) 09 31
LOGICAL_MINIMUM (-127) 15 81
LOGICAL_MAXIMUM (127) 25 7F
REPORT_SIZE (8) 75 08
REPORT_COUNT (2) 95 02
INPUT (Data,Var,Rel) 81 06
这里使用了USAGE(X),USAGE(Y),使用REPORT_COUNT=2指示2个USAGE有效,其中每个USAGE的数据大小为REPORT_SIZE=8
又如:
USAGE_PAGE (Button) 05 09
USAGE_MINIMUM (Button 1) 19 01
USAGE_MAXIMUM (Button 3) 29 03
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
REPORT_COUNT (3) 95 03
REPORT_SIZE (1) 75 01
INPUT (Data,Var,Abs) 81 02
这里指定了三个LOCAL USAGE,不过使用最大和最小值来指定(USAGE_MINIMUM (Button 1),USAGE_MAXIMUM (Button 3) ),故REPORT_COUNT=3,而每个USAG的数据大小为1,即REPORT_SIZE=1,而LOGICAL_MINIMUM和LOGICAL_MAXIMUM指定了每个USAGE的最大和最小值。
这里我们也可以截取一TP的报告描述符:
0xa1, 0x02, // COLLECTION (Logical)
0x09, 0x42, // USAGE (Tip Switch)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x01, // REPORT_COUNT (1)
可以看到,这里指定了TP是否按下的开关。
0x95,0x01, //38 GLOBAL_REPORT_COUNT(1)
...
0x05,0x01, //42 GLOBAL_USAGE_PAGE(Generic Desktop Controls)
0x75,0x10, //44 GLOBAL_REPORT_SIZE(16)
0x55,0x0E, //46 GLOBAL_UNIT_EXPONENT(14)
0x65,0x11, //48 GLOBAL_REPORT_UNIT(17)
0x09,0x30, //50 LOCAL_USAGE(X)
0x26,0x00,0x40, //52 GLOBAL_LOCAL_MAXIMUM(16384)
0x35,0x00, //55 GLOBAL_PHYSICAL_MINIMUM(0)
0x46,0x5D,0x14, //57 GLOBAL_PHYSICAL_MAXIMUM(5213)
0x81,0x42, //60 MAIN_INPUT(data var absolute NoWrap linear PreferredState NullState NonVolatile )
这里指定了2字节的X,其最大值为16384
0x09,0x31, //62 LOCAL_USAGE(Y)
0x26,0x80,0x25, //64 GLOBAL_LOCAL_MAXIMUM(9600/9600)
0x46,0x74,0x0B, //67 GLOBAL_PHYSICAL_MAXIMUM(2932)
0x81,0x42, //70 MAIN_INPUT(data var absolute NoWrap linear PreferredState NullState NonVolatile )
同样的对于Y,由于ReportCount和ReportSize是全局的,沿用X的,占2字节,只是最大值最为了9600。
另外一种的是键盘的报告描述符,其是一个数组为类型:
REPORT_COUNT (6) 95 06
REPORT_SIZE (8) 75 08
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (101) 25 65
USAGE_PAGE (Keyboard) 05 07
USAGE_MINIMUM (Reserved (no event indicated)) 19 00
USAGE_MAXIMUM (Keyboard Application) 29 65
INPUT (Data,Ary,Abs) 81 00
而对于数组类型,REPORT_COUNT指定了数组的个数,REPORT_SIZE指定了每个数组成员的大小。LOGICAL_MINIMUM和LOGICAL_MAXIMUM指定了数组成员可取的值。
USAGE_MINIMUM和USAGE_MAXIMUM的含义与OGICAL_MINIMUM和LOGICAL_MAXIMUM一致。
以上就是USB接口百科为您提供HID报告描述符全局项REPORT_COUNT和REPORT_SIZE的解读,本文章链接: http://www.usb-hub.cn/hidgf/42357.html 欢迎分享转载,更多婚礼相关资讯请前往HID规范
相关文章
USB接口百科推荐
HID 设置空闲SetIdle
HID局部条目
HID报告描述符主项InputReport、OutputReport,FeatureReport
HID报告描述符协议
HID 设备描述符关系
HID 设置协议SetProtocol
HID报告描述符的GLOBAL ITEM
HID规范、HID Usage Tables版本及文档分类
HID报告描述符详解
HID设备描述符的级级关系
HID报告描述符Usage
HID 全局条目(Global Item)
HID 简介
HID 获取空闲请求GetIdle
HID设备的bInterfaceClass、bInterfaceSubClass和bInterfaceProtocol