CDC SetATMDefaultVC
2025-07-11
0
0
1. SetATMDefaultVC 请求用途
SetATMDefaultVC 用于为后续的GetATMVCStatistics请求预选择VPI/VCI值。
主机通过此请求设置默认的虚电路标识符,此请求仅适用于Type 3设备。
2. USB 控制传输格式
字段 | 值/说明 |
---|---|
bmRequestType | 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口 |
bRequest | 0x52 (SET_ATM_DEFAULT_VC) |
wValue | 0x0000 |
wIndex | 接口号 |
wLength | 3 |
Data | 1字节VPI值+2字节VCI值 |
3. 典型主机端请求示例
C 结构体示例:
uint8_t vpi = 0x01; // VPI值
uint16_t vci = 0x1234; // VCI值
USB_SETUP_PACKET setup = {
.bmRequestType = 0x21, // 主机到设备,类,接口
.bRequest = 0x52, // SET_ATM_DEFAULT_VC
.wValue = 0x0000,
.wIndex = interface_number, // 通信接口号
.wLength = 3 // 3字节VPI/VCI数据
};
// 发送setup包和vpi/vci数据
4. 设备端处理要点
- 仅适用于Type 3设备。
- 从Data阶段读取3字节的VPI/VCI值。
- 保存VPI/VCI值供后续GetATMVCStatistics请求使用。
- 完成后通过状态阶段(Status Stage)ACK主机。
5. 常见应用场景
场景 | VPI | VCI | 说明 |
---|---|---|---|
设置默认VC | 0x01 | 0x1234 | 设置默认虚电路标识符 |
清除默认VC | 0x00 | 0x0000 | 清除默认虚电路设置 |
6. 参考
- USB CDC ATM 子类规范 6.5.3](https://www.usb.org/document-library/class-definitions-communication-devices-12)
- GetATMVCStatistics 6.5.4](https://www.usb.org/document-library/class-definitions-communication-devices-12)