USB CDC
+ -

CDC GetOperationParms

2025-07-11 0 0

1. GetOperationParms 请求用途

GetOperationParms 用于获取设备的当前操作模式。
主机通过此请求查询设备当前的工作模式,返回的操作模式值描述了设备的当前操作状态,如Table 53中指定的模式。


2. USB 控制传输格式

字段 值/说明
bmRequestType 0xA1 (10100001B) 方向:设备到主机,类型:类,接收者:接口
bRequest 0x33 (GET_OPERATION_PARMS)
wValue 0x0000
wIndex 接口号
wLength 2
Data 操作模式(2字节,格式同Table 53)

3. 返回的操作模式值

操作模式 返回值 描述
Simple Mode 0 通信设备以独立方式运行,不向主机发送状态信息,仅接受SetOperationMode命令。设备能够独立操作。
Standalone Mode 1 通信设备以独立方式运行,但向主机发送完整状态信息,并接受主机的任何命令。
Host Centric Mode 2 通信设备完全由计算机控制,没有主机控制不会执行任何通信功能。

4. 典型主机端请求示例

C 结构体示例:

uint16_t operation_mode;

USB_SETUP_PACKET setup = {
    .bmRequestType = 0xA1,           // 设备到主机,类,接口
    .bRequest = 0x33,                // GET_OPERATION_PARMS
    .wValue = 0x0000,
    .wIndex = interface_number,      // 通信接口号
    .wLength = 2                     // 2字节操作模式数据
};
// 发送setup包,读取operation_mode数据

5. 设备端处理要点

  • 返回当前配置的2字节操作模式值。
  • 确保返回的数据与当前设备状态一致。
  • 如果设备不支持某些模式,返回默认值或最近设置的值。

6. 常见返回示例

配置类型 返回值 说明
独立模式 0x0000 Simple Mode
监控模式 0x0001 Standalone Mode
受控模式 0x0002 Host Centric Mode

7. 参考

0 篇笔记 写笔记

CDC GetOperationParms
1. GetOperationParms 请求用途GetOperationParms 用于获取设备的当前操作模式。主机通过此请求查询设备当前的工作模式,返回的操作模式值描述了设备的当前操作状态,如Table 53中指定的模式。2. USB 控制传输格式字段值/说明bmReque......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!