USB CDC
+ -

CDC SetOperationParms

2025-07-11 0 0

1. SetOperationParms 请求用途

SetOperationParms 用于设置设备的操作模式,在简单模式、独立模式和主机中心模式之间切换。
主机通过此请求控制设备的工作方式,影响设备与主机的交互程度和控制关系。


2. USB 控制传输格式

字段 值/说明
bmRequestType 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口
bRequest 0x32 (SET_OPERATION_PARMS)
wValue 操作模式(Operation Mode,见下表)
wIndex 接口号
wLength 0
Data

3. Operation Mode Values(Table 53)

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

4. 典型主机端请求示例

C 结构体示例:

USB_SETUP_PACKET setup = {
    .bmRequestType = 0x21,           // 主机到设备,类,接口
    .bRequest = 0x32,                // SET_OPERATION_PARMS
    .wValue = 0x0002,                // 0: Simple, 1: Standalone, 2: Host Centric
    .wIndex = interface_number,      // 通信接口号
    .wLength = 0                     // 无数据阶段
};
// 发送setup包,无data阶段

5. 设备端处理要点

  • 检查 wValue,切换到指定的操作模式。
  • 根据模式调整设备行为:
    • Simple Mode:独立操作,不发送状态
    • Standalone Mode:独立操作,发送状态
    • Host Centric Mode:完全由主机控制
  • 完成后通过状态阶段(Status Stage)ACK主机。

6. 应用场景示例

场景 模式 wValue 说明
独立电话 Simple 0 设备独立拨号,不报告状态
监控电话 Standalone 1 设备独立拨号,报告状态
受控电话 Host Centric 2 主机控制拨号过程

7. 参考

0 篇笔记 写笔记

CDC SetOperationParms
1. SetOperationParms 请求用途SetOperationParms 用于设置设备的操作模式,在简单模式、独立模式和主机中心模式之间切换。主机通过此请求控制设备的工作方式,影响设备与主机的交互程度和控制关系。2. USB 控制传输格式字段值/说明bmReques......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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