USB CDC
+ -

CDC SendBreak

2025-07-11 0 0

1. SendBreak 请求用途

SendBreak 用于发送特殊的载波调制信号,生成RS-232风格的break信号。
主机通过此请求控制设备产生指定持续时间的break信号,常用于:

  • 串口通信中的流控制
  • 设备复位信号
  • 协议同步信号
  • 中断当前传输

2. USB 控制传输格式

字段 值/说明
bmRequestType 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口
bRequest 0x23 (SEND_BREAK)
wValue Break信号持续时间(毫秒)<br>0xFFFF:持续break直到收到wValue=0x0000的请求
wIndex 接口号
wLength 0
Data

3. wValue 字段说明

  • 0x0000:停止break信号
  • 0x0001-0xFFFE:break持续时间(毫秒)
  • 0xFFFF:持续break,直到收到停止命令

典型值示例:

  • wValue = 0x0064:100ms break
  • wValue = 0x00C8:200ms break
  • wValue = 0xFFFF:持续break
  • wValue = 0x0000:停止break

4. 典型主机端请求示例

C 结构体示例:

USB_SETUP_PACKET setup = {
    .bmRequestType = 0x21,           // 主机到设备,类,接口
    .bRequest = 0x23,                // SEND_BREAK
    .wValue = 0x0064,                // 100ms break
    .wIndex = interface_number,      // 通信接口号
    .wLength = 0                     // 无数据阶段
};
// 发送setup包,无data阶段

持续break示例:

// 开始持续break
USB_SETUP_PACKET setup_start = {
    .bmRequestType = 0x21,
    .bRequest = 0x23,
    .wValue = 0xFFFF,                // 持续break
    .wIndex = interface_number,
    .wLength = 0
};

// 停止break
USB_SETUP_PACKET setup_stop = {
    .bmRequestType = 0x21,
    .bRequest = 0x23,
    .wValue = 0x0000,                // 停止break
    .wIndex = interface_number,
    .wLength = 0
};

5. 设备端处理要点

  • 解析 wValue:
    • 0xFFFF:开始持续break
    • 0x0000:停止break
    • 其他值:定时break(毫秒)
  • 生成相应的break信号。
  • 完成后通过状态阶段(Status Stage)ACK主机。

6. Break信号特性

  • 信号电平:通常为逻辑低电平(0V)
  • 持续时间:根据wValue指定
  • 用途

7. 常见应用场景

场景 wValue 说明
设备复位 0x00C8 200ms break复位设备
流控制 0x0064 100ms break暂停传输
持续监控 0xFFFF 持续break直到停止
停止break 0x0000 停止当前break信号

8. 参考

0 篇笔记 写笔记

CDC SendBreak
1. SendBreak 请求用途SendBreak 用于发送特殊的载波调制信号,生成RS-232风格的break信号。主机通过此请求控制设备产生指定持续时间的break信号,常用于:串口通信中的流控制设备复位信号协议同步信号中断当前传输2. USB 控制传输格式字段值/说明......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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