USB设备通过描述符反映自己的设备特性。USB描述符是由特定格式排列的一组数据结构组成。
各描述符层次图解

设备描述符
typedef struct USB_DEVICE_DESCRIPTOR
{
BYTE bLength,
BYTE bDescriptorType,
WORD bcdUSB,
BYTE bDeviceClass,
BTYE bDeviceSubClass,
BYTE bDeviceProtol,
BYTE bMaxPacketSize0,
WORD idVenderI,
WORD idProduct,
WORD bcdDevice,
BYTE iManufacturer,
BYTE iProduct,
BYTE iSerialNumber,
BYTE iNumConfiguations
}USB_DEVICE_DESCRIPTOR;
bLength : 描述符大小.固定为0x12.
bDescriptorType : 设备描述符类型.固定为0x01.
bcdUSB : USB 规范发布号.表示了本设备能适用于那种协议,如2.0=0200,1.1=0110等.
bDeviceClass : 类型代码(由USB指定)。当它的值是0时,表示所有接口在配置描述符里,并且所有接口是独立的。当它的值是1到FEH时,表示不同的接口关联的。当它的值是FFH时,它是厂商自己定义的.
bDeviceSubClass : 子类型代码(由USB分配).如果bDeviceClass值是0,一定要设置为0.其它情况就跟据USB-IF组织定义的编码.
bDeviceProtocol : 协议代码(由USB分配).如果使用

USB设备通过描述符展示其特性,包括设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。设备描述符包含设备类型、USB规范版本、最大包大小等信息;配置描述符说明设备的配置信息,如总长度、接口数和功率需求;接口描述符定义接口的编号、类和协议;端点描述符描述数据传输类型、方向和最大包大小;字符串描述符提供制造商、产品和序列号等信息。
最低0.47元/天 解锁文章
707

被折叠的 条评论
为什么被折叠?



