表1、USB命令的结构 | ||||
偏移量 | 域 | 长度(字节) | 值 | 描述 |
0 | bmRequestType | 1 | 位图 | 请求特征: D7:传输方向 0=主机至设备 1=设备至主机 D6..5:种类 0=标准 1=类 2=厂商 3=保留 D4..0:接受者 0=设备 1=接口 2=端点 3=其他 4..31 保留 |
1 | bRequest | 1 | 值 | 命令类型编码值(见表3) |
2 | wValue | 2 | 值 | 根据不同的命令,含义也不同 |
4 | wIndex | 2 | 索引或偏移 | 根据不同的命令,含义也不同,主要用于传送索引或偏 移 |
6 | wLength | 2 | 如有数据传送阶段,此为数据字节数。 |
表2、USB的11种标准命令 | ||||||
命令 | bmRequestType | bRequest | wValue | wIndex | wLength | Data |
Clear_Feature | 00000000B 00000001B 00000010B | CLEAR_FEATURE | 特性选择符 | 零 接口号 端点号 | 零 | 无 |
Get_Configuration | 10000000B | GET_CONFIGURATION | 零 | 零 | 一 | 配置值 |
Get_Descriptor | 10000000B | GET_DESCRIPTOR | 描述表种类(高字节,见表5)和索引(低字节) | 零或语言标志 | 描述表长 | 描述表 |
Get_Interface | 10000001B | GET_INTERFACE | 零 | 接口号 | 一 | 可选设置 |
Get_Status | 10000000B 10000001B 10000010B | GET_STATUS | 零 | 零(返回设备状态) 接口号(对像时接口时) 端点号(对象是端点时) | 二 | 设备, 接口 ,或 端点状态 |
Set_Address | 00000000B | SET_ADDRESS | 设备地址 | 零 | 零 | 无 |
Set_Configuration | 00000000B | SET_CONFIGURATION | 配置值(高字节为0,低字节表示要设置的配置值) | 零 | 零 | 无 |
Set_Descriptor | 00000000B | SET_DESCRIPTOR | 描述表种类(高字节,见表5)和索引(低字节) | 零或语言标志 | 描述表长 | 描述表 |
Set_Feature | 00000000B 00000001B 00000010B | SET_FEATURE | 特性选择符(1表示设备,0表示端点) | 零 接口号 端点号 | 零 | 无 |
Set_Interface | 00000001B | SET_INTERFACE | 可选设置 | 接口号 | 零 | 无 |
Synch_Frame | 100000010B | SYNCH_FRAME | 零 | 端点号 | 二 | 帧号 |
表3、USB标准命令的编码值 | |
bRequest | Value |
GET_STATUS | 0 |
CLEAR_FEATURE | 1 |
为将来保留 | 2 |
SET_FEATURE | 3 |
为将来保留 | 4 |
SET_ADDRESS | 5 |
GET_DESCRIPTOR | 6 |
SET_DESCRIPTOR | 7 |
GET_CONFIGURATION | 8 |
SET_CONFIGURATION | 9 |
GET_INTERFACE | 10 |
SET_INTERFACE | 11 |
SYNCH_FRAME | 12 |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |