转载自百合电子工作室
HID设备类特定的命令(请求)有6个,它们分别是Get_Report、Get_Idle、Get_Protocol、Set_Report、Set_Idle和Set_Protocol。
HID类请求(命令)数据包格式如表8所示:
表9、HID类请求(命令)包格式 | |||
偏移量 |
域 |
大小 |
说明 |
0 |
bmRequestType |
1 |
HID设备类请求特性如下: 因而,针对HID的设备类请求,仅仅10100001和00100001有效 |
1 |
bRequest |
1 |
HID类请求(参考表9) |
2 |
wValue |
2 |
高字节说明描述符的类型(参考表5),而低字节为非0值时被用来选定实体描述符。 |
4 |
wIndex |
2 |
2字节数值,根据不同的bRequest有不同的意义 |
6 |
wLength |
2 |
该请求的数据段长度 |
表10、HID类请求 | ||
数值 |
HID类请求描述符 |
注释 |
0x01 |
GET_REPORT |
|
0x02 |
GET_IDLE |
|
0x03 |
GET_PROTOCOL |
仅仅适应于支持启动功能的HID设备(Boot Device) |
0x09 |
SET_REPORT |
|
0x0A |
SET_IDLE |
|
0x0B |
SET_PROTOCOL |
仅仅适应于支持启动功能的HID设备(Boot Device) |
USB主机在请求HID设备的配置描述符时,设备首先返回的描述符为:配置描述符、接口描述符、HID描述符、端点描述符。HID描述符里包含了其附属的描述的类型和长度(如报告描述符),然后主机再根据HID描述符的信息请求其相关的描述符。