USB CDC
+ -

CDC SetRingerParms

2025-07-11 0 0

1. SetRingerParms 请求用途

SetRingerParms 用于配置通信设备的振铃参数,可以全局配置(联合主接口)或按线路配置(多线路设备)。
主机通过此请求设置振铃特性,包括振铃存在性、音量、模式等参数。


2. USB 控制传输格式

字段 值/说明
bmRequestType 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口
bRequest 0x30 (SET_RINGER_PARMS)
wValue 0x0000
wIndex 接口号
wLength 4
Data Ringer Configuration bitmap(4字节,见下表)

3. Ringer Configuration Bitmap Values(Table 52)

名称/说明
D31 振铃存在标志<br>0:振铃不存在<br>1:振铃存在<br>GetRingerParms时,0表示寻址元素无振铃
D30..D16 RESERVED(复位为0)
D15..D8 振铃音量设置<br>0:振铃音量关闭<br>255:最大振铃音量
D7..D0 振铃模式类型选择<br>对应设备内部支持的振铃模式或声音效果

位图示例:

  • 0x80000000:振铃存在,音量0,模式0
  • 0x80FF0001:振铃存在,最大音量,模式1
  • 0x00000000:振铃不存在

4. 典型主机端请求示例

C 结构体示例:

uint32_t ringer_config = 0x80FF0001;  // 振铃存在,最大音量,模式1

USB_SETUP_PACKET setup = {
    .bmRequestType = 0x21,           // 主机到设备,类,接口
    .bRequest = 0x30,                // SET_RINGER_PARMS
    .wValue = 0x0000,
    .wIndex = interface_number,      // 通信接口号
    .wLength = 4                     // 4字节配置数据
};
// 发送setup包和ringer_config数据

5. 设备端处理要点

  • 接收并解析4字节的Ringer Configuration bitmap。
  • 根据D31位判断振铃是否存在。
  • 根据D15..D8位设置振铃音量。
  • 根据D7..D0位选择振铃模式。
  • 完成后通过状态阶段(Status Stage)ACK主机。

6. 常见配置示例

配置类型 位图值 D31 音量 模式 说明
振铃关闭 0x00000000 0 0 0 振铃不存在
标准振铃 0x80FF0001 1 255 1 标准振铃模式
静音振铃 0x80000001 1 0 1 静音模式
自定义模式 0x80800002 1 128 2 中等音量,模式2

7. 参考

0 篇笔记 写笔记

CDC SetRingerParms
1. SetRingerParms 请求用途SetRingerParms 用于配置通信设备的振铃参数,可以全局配置(联合主接口)或按线路配置(多线路设备)。主机通过此请求设置振铃特性,包括振铃存在性、音量、模式等参数。2. USB 控制传输格式字段值/说明bmRequestTy......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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