微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > USB描述符详解

USB描述符详解

时间:12-15 来源:互联网 点击:

4、端点描述符:USB设备中的每个端点都有自己的端点描述符,由接口描述符中的bNumEndpoint决定其数量

typedef struct _USB_ENDPOINT_DESCRIPTOR_
{
BYTEbLength,
BYTEbDescriptorType,
BYTEbEndpointAddress,
BYTEbmAttributes,
WORDwMaxPacketSize,
BYTEbInterval
}USB_ENDPOINT_DESCRIPTOR;

bLength: 描述符大小.固定为0x07.
bDescriptorType: 接口描述符类型.固定为0x05.
bEndpointType: USB设备的端点地址.Bit7,方向,对于控制端点可以忽略,1/0:IN/OUT.Bit6-4,保留.BIt3-0:端点号.
bmAttributes: 端点属性.Bit7-2,保留.BIt1-0:00控制,01同步,02批量,03中断.
wMaxPacketSize: 本端点接收或发送的最大信息包大小.
bInterval: 轮训数据传送端点的时间间隔.对于批量传送和控制传送的端点忽略.对于同步传送的端点,必须为1,对于中断传送的端点,范围为1-255.

5、字符串描述符:其中字符串描述符是可选的.如果不支持字符串描述符,其设备,配置,接口描述符内的所有字符串描述符索引都必须为0

typedef struct _USB_STRING_DESCRIPTION_
{
BYTEbLength,
BYTEbDescriptionType,
BYTEbString[1];
}USB_STRING_DESCRIPTION;

bLength: 描述符大小.由整个字符串的长度加上bLength和bDescriptorType的长度决定.
bDescriptorType: 接口描述符类型.固定为0x03.
bString[1]: Unicode编码字符串.

上一篇:USB的电气特性
下一篇:USB接口类型

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top