USB HID类命令(请求)与常见设备类别

时间:2024-04-03 22:10:43

 HID设备类特定的命令(请求)有6个,它们分别是Get_Report、Get_Idle、Get_Protocol、Set_Report、Set_Idle和Set_Protocol。

  HID类请求(命令)数据包格式如表10所示:

表9、HID类请求(命令)包格式
偏移量 大小 说明
0 bmRequestType 1

HID设备类请求特性如下:
位7:
0=从USB HOST到USB设备
1=从USB设备到USB HOST
位6~5:
01=请求类型为设备类请求
位4~0:
0001=请求对象为接口(interface)

因而,针对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描述符的信息请求其相关的描述符。

 HID常见设备类别:

USB HID类命令(请求)与常见设备类别