CDC SetCommFeature请求
2025-07-10
0
0
SetCommFeature 设置通信接口的某个特性(Feature),如线路编码、握手信号等。
Feature Selector由规范定义,常见如抽象控制管理(ACM)功能的线路编码(LINE_CODING)、握手信号(LINE_CONTROL)等。
USB控制传输格式
字段 | 值/说明 |
---|---|
bmRequestType | 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口 |
bRequest | 0x02 (SET_COMM_FEATURE) |
wValue | Feature Selector(特性选择器,见6.2.4) |
wIndex | 接口号 |
wLength | 状态数据长度(State Data长度,依Feature而定) |
Data | 状态数据(如线路编码结构体等) |
常见Feature Selector举例
- 0x0000:ABSTRACT_STATE
- 0x0001:COUNTRY_SETTING
示例
主机设置抽象控制管理的国家设置:
- bmRequestType: 0x21
- bRequest: 0x02
- wValue: 0x0001(COUNTRY_SETTING)
- wIndex: 0x0001
- wLength: 2
- Data: 国家代码(如0x0001表示美国)
SetCommFeature示例
USB_SETUP_PACKET setup = {
.bmRequestType = 0x21,
.bRequest = 0x02,
.wValue = feature_selector,
.wIndex = interface_number,
.wLength = state_data_length
};
// 发送setup包和state数据