CDC GetEncapsulatedResponse请求
2025-07-10
0
0
GetEncapsulatedResponse 用于从通信类接口获取“封装命令”的响应数据。
通常与SendEncapsulatedCommand配对使用,主机先发命令,再用此请求取回设备响应。
USB控制传输格式
字段 | 值/说明 |
---|---|
bmRequestType | 0xA1 (10100001B) 方向:设备到主机,类型:类,接收者:接口 |
bRequest | 0x01 (GET_ENCAPSULATED_RESPONSE) |
wValue | 0x0000 |
wIndex | 接口号 |
wLength | 期望读取的最大数据长度(主机分配的缓冲区大小) |
Data | 设备返回的响应内容(协议相关) |
示例
主机请求调制解调器的AT命令响应:
- bmRequestType: 0xA1
- bRequest: 0x01
- wValue: 0x0000
- wIndex: 0x0001
- wLength: 64(假设主机准备读取最多64字节)
- Data: 设备返回的响应(如”OK\r\n”)
GetEncapsulatedResponse示例
USB_SETUP_PACKET setup = {
.bmRequestType = 0xA1,
.bRequest = 0x01,
.wValue = 0x0000,
.wIndex = interface_number,
.wLength = expected_length
};
// 发送setup包,读取data阶段数据