USB CDC
+ -

CDC 直连线路管理功能描述符

2025-07-10 0 0

直连线路管理功能描述符 (Direct Line Management Functional Descriptor)用于描述通信类接口(SubClass为直连线路控制模型,Direct Line Control Model)所支持的命令。它只能出现在接口描述符的类特定部分。

直连线路管理功能描述符用于标识设备支持哪些直连线路相关的标准请求和通知,主机据此决定可用的控制命令。

偏移 字段名 大小 值/类型 描述
0 bFunctionLength 1 数值 此功能描述符的字节数
1 bDescriptorType 1 常量 CS_INTERFACE 描述符类型
2 bDescriptorSubtype 1 常量 直连线路管理功能描述符子类型
3 bmCapabilities 1 位图 本配置支持的能力位图(为0表示不支持该请求/通知):<br> D7..D3: 保留,置零<br> D2: 1-设备在脉冲拨号序列中需要额外的Pulse_Setup请求以断开保持电路(见6.2.8)<br> D1: 1-设备支持Set_Aux_Line_State、Ring_Aux_Jack请求和Aux_Jack_Hook_State通知<br> D0: 1-设备支持Pulse_Setup、Send_Pulse和Set_Pulse_Time请求

C结构体定义

typedef struct _USB_CDC_DIRECT_LINE_MANAGEMENT_DESCRIPTOR {
    uint8_t bFunctionLength;      // 描述符长度
    uint8_t bDescriptorType;      // CS_INTERFACE (0x24)
    uint8_t bDescriptorSubtype;   // Direct Line Management subtype (0x03)
    uint8_t bmCapabilities;       // 能力位图
} USB_CDC_DIRECT_LINE_MANAGEMENT_DESCRIPTOR;

示例数据(假设设备支持所有功能)

字节序号 值(十六进制) 含义
0 0x04 bFunctionLength = 4
1 0x24 bDescriptorType = CS_INTERFACE
2 0x03 bDescriptorSubtype = Direct Line Management
3 0x07 bmCapabilities = 0000 0111B (D2~D0均为1)

二进制示例:

04 24 03 07

说明

  • bFunctionLength:通常为4(字节)
  • bDescriptorType:固定为0x24(CS_INTERFACE)
  • bDescriptorSubtype:直连线路管理功能描述符为0x03
  • bmCapabilities:能力位图,详见上表

0 篇笔记 写笔记

CDC 直连线路管理功能描述符
直连线路管理功能描述符 (Direct Line Management Functional Descriptor)用于描述通信类接口(SubClass为直连线路控制模型,Direct Line Control Model)所支持的命令。它只能出现在接口描述符的类特定部分。直连线路管理功能描述符用......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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