CDC ClearCommFeature请求
2025-07-10
0
0
1. ClearCommFeature 请求用途
ClearCommFeature 用于将指定通信特性(Feature Selector)恢复为默认状态。
它和 SetCommFeature/ GetCommFeature 配套,常用于 CDC 设备(如调制解调器、以太网等)通信接口的特性管理。
2. USB 控制传输格式
字段 | 值/说明 |
---|---|
bmRequestType | 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口 |
bRequest | 0x04 (CLEAR_COMM_FEATURE) |
wValue | Feature Selector(特性选择器,见前表) |
wIndex | 接口号 |
wLength | 0 |
Data | 无 |
3. Feature Selector 说明(与 Set/GetCommFeature 相同)
Selector 名称 | 代码 | 目标 | 说明 |
---|---|---|---|
RESERVED | 0x00 | None | 保留 |
ABSTRACT_STATE | 0x01 | Interface | 仅适用于 Abstract Control Model |
COUNTRY_SETTING | 0x02 | Interface | 仅适用于支持 Country Selection Functional Descriptor 的设备 |
4. 典型主机端请求示例
C 结构体示例:
USB_SETUP_PACKET setup = {
.bmRequestType = 0x21, // 主机到设备,类,接口
.bRequest = 0x04, // CLEAR_COMM_FEATURE
.wValue = feature_selector, // 0x01: ABSTRACT_STATE, 0x02: COUNTRY_SETTING
.wIndex = interface_number, // 通信接口号
.wLength = 0 // 无数据阶段
};
// 发送setup包,无data阶段
5. 设备端处理要点
- 检查 wValue(Feature Selector)是否合法。
- 将对应特性恢复为默认值。
- 不需要 data 阶段。
6. 参考
如需具体 Feature Selector 的默认值、设备端处理代码、或主机端调用示例,请继续提问!