HID描述符

一、HID接口:

OffsetFieldSizeValueDescription
0bLength109h
1bDescriptorType104hInterface
2bInterfaceNumber103h
3bAlternateSetting100h
4bNumEndpoints102h
5bInterfaceClass103hHID
6bInterfaceSubClass100h
7bInterfaceProtocol100h
8iInterface100h



其中:
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 端点
OffsetFieldSizeValueDescription
0bLength107h
1bDescriptorType105hEndpoint
2bEndpointAddress183h3 In
3bmAttributes103hInterrupt
1..0: Transfer Type ......11  Interrupt
7..2: Reserved 000000.. 
4wMaxPacketSize20008h8 bytes
6bInterval108h8 ms
OffsetFieldSizeValueDescription
0bLength107h
1bDescriptorType105hEndpoint
2bEndpointAddress104h4 Out
3bmAttributes103hInterrupt
1..0: Transfer Type ......11  Interrupt
7..2: Reserved 000000.. 
4wMaxPacketSize20040h64 bytes
6bInterval108h8 ms


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

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

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

三、HID描述符
OffsetFieldSizeValueDescription
0bLength109h
1bDescriptorType121hHID
2bcdHID20111h1.11
4bCountryCode100h
5bNumDescriptors101h
6bDescriptorType122hReport
7wDescriptorLength20211h529 bytes

bLength:报告描述符长度(字节) 
bDescriptorType:描述符类型:0x21(设备描述符  1 ;  配置描述符  2; 字符串描述符  3; 接
口描述符  4;  端点描述符  5;  设备限定描述符  6 ; 其他速率配置描述符  7 ;)
bcdHID:HID 版本号(BCD 码) 
bCountryCode:国家/地区代码
bNumDescriptor:支持的其他类型描述符数量
bDescriptorType:类别描述符的类型
wDescriptorLength:报告描述符的总长度 
 
四、报告描述符
Item Tag (Value) Raw Data
Usage 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 Collection C0 


报告描述符由items组成。Item由item type, item tag, and item size组成。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值