USB CDC
+ -

CDC SendEncapsulatedCommand请求

2025-07-10 0 0

SendEncapsulatedCommand用于向通信类接口发送一条“封装命令”,命令内容和格式由该接口支持的控制协议(如AT命令、PPP、以太网等)决定。
常用于调制解调器、以太网等CDC设备的主机与设备间的协议命令下发。

USB控制传输格式

字段 值/说明
bmRequestType 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口
bRequest 0x00 (SEND_ENCAPSULATED_COMMAND)
wValue 0x0000
wIndex 接口号(Interface Number)
wLength 数据长度(Data阶段下发的命令长度,单位字节)
Data 控制协议命令内容(如AT命令、PPP帧等,具体由设备支持的协议决定)

示例
主机向CDC调制解调器接口发送AT命令:

  • bmRequestType: 0x21
  • bRequest: 0x00
  • wValue: 0x0000
  • wIndex: 0x0001(假设接口号为1)
  • wLength: 4
  • Data: “AT\r\n”(ASCII码)
// USB控制请求结构体
typedef struct _USB_SETUP_PACKET {
    uint8_t bmRequestType;
    uint8_t bRequest;
    uint16_t wValue;
    uint16_t wIndex;
    uint16_t wLength;
} USB_SETUP_PACKET;

SendEncapsulatedCommand示例

USB_SETUP_PACKET setup = {
    .bmRequestType = 0x21,
    .bRequest = 0x00,
    .wValue = 0x0000,
    .wIndex = interface_number,
    .wLength = data_length
};
// 发送setup包和data阶段数据

0 篇笔记 写笔记

CDC SendEncapsulatedCommand请求
SendEncapsulatedCommand用于向通信类接口发送一条“封装命令”,命令内容和格式由该接口支持的控制协议(如AT命令、PPP、以太网等)决定。常用于调制解调器、以太网等CDC设备的主机与设备间的协议命令下发。USB控制传输格式字段值/说明bmRequestTyp......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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