HID描述符

来源:互联网 发布:阳西人民政府网络问政 编辑:程序博客网 时间:2024/05/16 06:50

一、HID接口:

Interface Descriptor 3/0 HID, 2 Endpoints
OffsetFieldSizeValueDescription0bLength109h1bDescriptorType104hInterface2bInterfaceNumber103h3bAlternateSetting100h4bNumEndpoints102h5bInterfaceClass103hHID6bInterfaceSubClass100h7bInterfaceProtocol100h8iInterface100h



其中:
bLength:为接口描述符的长度。
bDescriptorType:表明其是接口。
bInterfaceNumber:表示第几个接口,此处为3,表明前面定义了3个接口。
bAlternateSetting:指明可选设置的索引值。意思是如果此设备只有一种接口,但是有两个可选设置,那么这两个设置的bInterfaceNumber值必须相同,且bAlternateSetting值必须不同。
bNumEndpoints:指明接口使用的端点数目,不包括端点0
bInterfaceClass:指类类型,可以为以下类。1:音频类,2:CDC控制类,3:人机接口类(HID),5:物理类,6:图像类,7:打印机类,8:大数据存储类,9:集线器类,10:CDC数据类,11:智能卡类,13:安全类,220:诊断设备类,224:无线控制类,254:特定应用类,255厂商定义的设备。
bInterfaceSubClass:子类。HID中含义:
bInterfaceSubClass(含义)
0 No Subclass 
1 Boot Interface Subclass 
2 - 255 Reserved 
bInterfaceProtocol:协议。HID中含义:
bInterfaceProtocol(含义)
0 None 
1 Keyboard 
2 Mouse 
3 - 255 Reserved 

因此,此表明其是HID类,没有子类和不使用协议。

二、HID 端点
Endpoint Descriptor 83 3 In, Interrupt, 8 ms
OffsetFieldSizeValueDescription0bLength107h1bDescriptorType105hEndpoint2bEndpointAddress183h3 In3bmAttributes103hInterrupt1..0: Transfer Type......11 Interrupt7..2: Reserved000000.. 4wMaxPacketSize20008h8 bytes6bInterval108h8 ms
Endpoint Descriptor 04 4 Out, Interrupt, 8 ms
OffsetFieldSizeValueDescription0bLength107h1bDescriptorType105hEndpoint2bEndpointAddress104h4 Out3bmAttributes103hInterrupt1..0: Transfer Type......11 Interrupt7..2: Reserved000000.. 4wMaxPacketSize20040h64 bytes6bInterval108h8 ms


HID设备与HID驱动通讯
HID设备与HID驱动通讯要么使用控制端点,要么使用中断端点。
控制端点作用:
a 发送命令给HID设备,
b 发送数据给HID设备。

中断端点作用:
a 用来接收来自设备的数据
b 用来给设备发送数据

输出中断端点是可选的,没有的话,用控制端点传送。

三、HID描述符
HID Descriptor
OffsetFieldSizeValueDescription0bLength109h1bDescriptorType121hHID2bcdHID20111h1.114bCountryCode100h5bNumDescriptors101h6bDescriptorType122hReport7wDescriptorLength20211h529 bytes

bLength:报告描述符长度(字节) 
bDescriptorType:描述符类型:0x21(设备描述符  1 ;  配置描述符  2; 字符串描述符  3; 接
口描述符  4;  端点描述符  5;  设备限定描述符  6 ; 其他速率配置描述符  7 ;)
bcdHID:HID 版本号(BCD 码) 
bCountryCode:国家/地区代码
bNumDescriptor:支持的其他类型描述符数量
bDescriptorType:类别描述符的类型
wDescriptorLength:报告描述符的总长度 
 
四、报告描述符
Interface 3 HID Report Descriptor Phone
Item Tag (Value)Raw DataUsage Page (Telephony Devices)05 0B Usage (Phone)09 01 Collection (Application)A1 01     Usage Page (Button)05 09     Usage Minimum (Button 1)19 01     Usage Maximum (Button 63)29 3F     Logical Minimum (0)15 00     Logical Maximum (1)25 01     Report Size (8)75 08     Report Count (8)95 08     Input (Cnst,Ary,Abs)81 01     Usage Page (LEDs)05 08     Usage Minimum (Num Lock)19 01     Usage Maximum (Repeat)29 10     Logical Minimum (0)15 00     Logical Maximum (1)25 01     Report Size (8)75 08     Report Count (32)95 20     Output (Cnst,Ary,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)91 01 End CollectionC0 


报告描述符由items组成。Item由item type, item tag, and item size组成。
 
http://blog.chinaunix.net/uid/23215128/frmd/100608.html

原创粉丝点击