USB CDC
+ -

CDC 通知元素通知

2025-07-11 0 0

1. Notification Element Notifications 用途

Notification Element Notifications 定义了通信接口类通知,设备使用这些通知来通知主机接口或端点事件。
这些通知通过中断端点发送,用于实时状态更新和事件报告。

2. Class-Specific Notification Codes(Table 68)

以下是翻译并以表格形式整理的内容:

bmRequestType bNotification wValue wIndex wLength Data
10100001B NETWORK_CONNECTION 0 – 断开连接<br>1 – 已连接 接口号 Zero None
10100001B RESPONSE_AVAILABLE Zero 接口号 Zero None
10100001B AUX_JACK_HOOK_STATE 0 – 挂机<br>1 – 摘机 接口号 Zero None
10100001B RING_DETECT Zero 接口号 Zero None
10100001B SERIAL_STATE Zero 接口号 2 UART状态位图
10100001B CALL_STATE_CHANGE 呼叫索引和<br>呼叫状态变更值 接口号 数据长度 可变长度结构,包含呼叫状态变更的附加信息
10100001B LINE_STATE_CHANGE 状态值 接口号 数据长度 可变长度线路状态结构
10100001B CONNECTION_SPEED_CHANGE Zero 接口号 8 连接速度变更数据结构

以下是 Notification Value(通知值)

Notification(通知类型) Value(值) 备注
NETWORK_CONNECTION(网络连接) 00h 0 – 断开连接<br>1 – 已连接
RESPONSE_AVAILABLE(响应可用) 01h
RESERVED(保留,未来使用) 02h-07h
AUX_JACK_HOOK_STATE(辅助插孔挂机状态) 08h 0 – 挂机<br>1 – 摘机
RING_DETECT(振铃检测) 09h
RESERVED(保留,未来使用) 0Ah-1Fh
SERIAL_STATE(串口状态) 20h UART 状态位图
RESERVED(保留,未来使用) 21h-27h
CALL_STATE_CHANGE(呼叫状态变更) 28h 包含呼叫索引和状态变更值
LINE_STATE_CHANGE(线路状态变更) 29h 可变长度线路状态结构
CONNECTION_SPEED_CHANGE(连接速度变更) 2Ah 8 字节连接速度数据结构
RESERVED(保留,未来使用) 2Bh-FFh

3. 典型设备端通知示例

C 结构体示例:

// 网络连接通知
uint8_t network_notification[] = {
    0xA1,           // bmRequestType
    0x00,           // bNotification (NETWORK_CONNECTION)
    0x01, 0x00,     // wValue (Connected)
    0x01, 0x00,     // wIndex (Interface 1)
    0x00, 0x00      // wLength (No data)
};

// 串口状态通知
uint8_t serial_notification[] = {
    0xA1,           // bmRequestType
    0x20,           // bNotification (SERIAL_STATE)
    0x00, 0x00,     // wValue
    0x01, 0x00,     // wIndex (Interface 1)
    0x02, 0x00,     // wLength (2 bytes)
    0x01, 0x00      // Data (UART State bitmap)
};

4. 主机端处理要点

  • 通过中断端点接收通知。
  • 解析通知代码和值。
  • 根据通知类型处理相应的状态变化。
  • 某些通知可能包含附加数据需要解析。

5. 常见应用场景

场景 通知代码 说明
网络连接 0x00 检测网络连接状态变化
振铃检测 0x09 检测来电振铃
串口状态 0x20 监控串口状态变化
通话状态 0x28 监控通话状态变化

6. 参考

0 篇笔记 写笔记

CDC 通知元素通知
1. Notification Element Notifications 用途Notification Element Notifications 定义了通信接口类通知,设备使用这些通知来通知主机接口或端点事件。这些通知通过中断端点发送,用于实时状态更新和事件报告。2. Class-Specif......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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