设备描述符:
偏移值
|
字段名称
|
字段大小
|
说明
|
0
|
blength
|
1
|
描述符长度
= 12H
|
1
|
bDescriptorType
|
1
|
设备描述符类型
= 01H
|
2
|
bcdUSB
|
2
|
USB
规划发布号
|
4
|
bDeviceClass
|
1
|
类型代码(由
USB
指定)
|
5
|
bDeviceSubClass
|
1
|
子类型代码(由
USB
分配)
|
6
|
bDeviceProtocol
|
1
|
协议代码(由
USB
分配)
|
7
|
bMaxPackedSize0
|
1
|
端点
0
最大分组大小(只有
8
、
16
、
32
、
64
有效)
|
8
|
idVendor
|
2
|
供应商
ID
(由
USB
分配)
|
10
|
idProduct
|
2
|
产品
ID
(由厂商分配)
|
12
|
bcdDevice
|
2
|
设备出厂编码
|
14
|
iManufacturer
|
1
|
厂商描述符字符串索引
|
15
|
iProduct
|
1
|
产品描述符字符串索引
|
16
|
iSerialNumber
|
1
|
设备序列号字符串索引
|
17
|
bNumConfigurations
|
1
|
可能的配置数
|
配置描述符:
偏移值
|
字段名称
|
字段大小
|
说明
|
0
|
bLength
|
1
|
描述符的长度
= 09H
|
1
|
bDescriptorType
|
1
|
配置描述符的类型
= 02H
|
2
|
wTotalLength
|
2
|
返回整个数据的长度,包括该配置所返回的所有描述符(配置、接口、端点以及类型或供应商)的联合长度
|
4
|
bNumberInterfaces
|
1
|
配置所支持的接口数
|
5
|
bConfigurationValue
|
1
|
作为
Set Configuration
的一个参数选择配置值
|
6
|
iConfiguration
|
1
|
用于描述该配置字符串描述符的索引
|
7
|
bmAttributes
|
1
|
配置特性:
D7
总线供电
D6
自供电
D5
远程唤醒
D4~0
保留(复位为
0
)
|
8
|
MaxPower
|
1
|
当设备完全可操作时,在这种特定配置下,总线供电的
USB
设备的最大消耗电流(以
2mA
为单位,即
2mA x 50 = 100mA
)
|
接口描述符:
偏移值
|
字段名称
|
字段大小
|
说明
|
0
|
bLength
|
1
|
描述符长度
= 09H
|
1
|
bDescriptorType
|
1
|
接口描述符类型
= 04H
|
2
|
bIngerfaceNumber
|
1
|
接口的编号
|
3
|
bAlternateSetting
|
1
|
用于为上一个字段选择可供替换的设置
|
4
|
bNumEndpoint
|
1
|
使用的端点数目(端点
0
除外)
|
5
|
bInterfaceClass
|
1
|
类型代码(由
USB
指定)
|
6
|
bInterfaceSubClass
|
1
|
子类型代码(由
USB
分配)
|
7
|
bInterfaceProtocol
|
1
|
协议代码(由
USB
分配)
|
8
|
iInterface
|
1
|
字符串描述符的索引
|
端点描述符:
偏移值
|
字段名称
|
字段大小
|
说明
|
0
|
bLength
|
1
|
描述符长度
= 07H
|
1
|
bDescriptorType
|
1
|
接口描述符类型
= 05H
|
2
|
bEndpointAddress
|
1
|
USB
设备的端点地址
D7
方向,对于控制端点可忽略
0
OUT
端点
1 IN
端点
D6~4
保留,复位为
0
D3~0
端点号
|
3
|
bmAttributes
|
1
|
端点属性,当进行配置是采用以下的配置值
D7~2
保留
D1~0
传输类型
00
控制
01
同步
02
批量
03
中断
|
4
|
wMaxPackedSize
|
2
|
本端点接受或发送最大信息包的大小。
对于同步传送,此值用于为每帧的数据净负荷预留时间。通道可能在实际运行时不需要预留带宽。实际带宽可由设备通过一种非
USB
定义的机制汇报给主机。
对于中断传送、批量传送和控制传送,端点可能发送较小的数据包。在结束传送后,既可能用间隙时间来重启,也有可能不需要这段时间。
|
6
|
bInterval
|
1
|
轮询数据传送端点的时间间隔。
此域值对于批量传送的端点及控制传送的端点忽略。对于同步传送的端点,此域值必须为
1
。对于中断传送的端点,此域值得范围为
1~255
。
|
本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/269443,如需转载请自行联系原作者