USB 的描述符与命令请求详解 一、 描述符 1
什么是描述符 所谓描述符,就是用于描述设备特性的具有特定格式排列的一种数据组织结构
描述符的作用 描述符的作用在于设备向主机汇报自己的信息、特征,主机根据这些信息从而加载相应 的驱动程序
描述符的分类 描述符分为三大类:标准描述符、设备类描述符、厂商描述符
除字符串描述符可选外,任何设备都必须包含剩下的几种标准描述符
在 USB1
0 中规定了 5 种标准的描述符: 设备描述符 配置描述符 接口描述符 端点描述符 字符串描述符 规定的设备类描述符有:集线器类描述符、人机接口类描述符
下表是三种描述符的类型值: 表 1
USB 描述符的类型值 类型 描述符 描述符值 标准描述符 设备描述符(Device Descriptor) 0x01 配置描述符(Configuration Descriptor) 0x02 字符串描述符(String Descriptor) 0x03 接口描述符(Interface Descriptor) 0x04 端点描述符(EndPont Descriptor) 0x05 类描述符 集线器类描述符(Hub Descriptor) 0x29 人机接口类描述符(HID) 0x21 厂商定义的描述符 0xFF 4
使用的几种类 设备类 DeviceClass 下表是设备类值的含义
设备的类别(bDeviceClass) 值(十进制) 值(十六进制) 说明 0 0x00 使用接口描述符中提供的类 2 0x02 通信类(CDC) 9 0x09 集线器类 220 0xDC 用于诊断用途的设备类 224 0xFE 混杂类型设备类 255 0xFF 厂商定义的设备类 接口类InterfaceClass 下表是接口类值的含义
USB 协议定义的接口类别(bInterfa