跳转到内容

USB Host UART 接口

此组件允许 ESP32-S3 或 ESP32-S2 主控 USB 串行外设。它使用 Usb Host 组件作为 USB-OTG 主机与设备进行接口。

目前支持的设备列在下表中:

名称VIDPID描述
CH34X0x1A860x55D5USB 转串口适配器,多通道(最多 3 个通道)
CH3400x1A860x7523USB 转串口适配器,单通道
ESP_JTAG0x303A0x1001ESP32 JTAG 接口
STM32_VCP0x04830x5740STM32 虚拟 COM 端口
CDC_ACM0x00000x0000USB CDC ACM(抽象控制模型)
CP210X0x10C40xEA60Silicon Labs USB 转 UART 桥接器
# 示例最小配置条目
usb_uart:
- type: cp210x
channels:
- id: uch_1
baud_rate: 9600
buffer_size: 1024
  • id (可选, ID):此组件使用的 ID。
  • type (*必需, 字符串):要连接的 USB 串行设备类型。可选值为 ch34xch340esp_jtagstm32_vcpcdc_acmcp210x
  • channels (*必需, 列表):要配置的通道列表。
  • vid (可选, 整数):设备的供应商 ID。使用 0 作为通配符。每种类型都有默认 VID,如果设置此项将被覆盖。
  • pid (可选, 整数):设备的产品 ID。使用 0 作为通配符。每种类型都有默认 PID,如果设置此项将被覆盖。

vidpid 都设置为 0 将匹配任何设备。

  • id (可选, ID):分配给通道的 ID。此 ID 可用于任何需要 uart 组件的地方。
  • baud_rate (*必需, 整数):通道使用的波特率。对于 stm32_vcpesp_jtagcdc_acm 类型,此项是可选的(并被忽略)。
  • buffer_size (可选, 整数):通道使用的缓冲区大小。默认值为 256 字节。
  • stop_bits (可选, 浮点数):使用的停止位数量。默认值为 1。其他选项为 1.5 和 2。
  • data_bits (可选, 整数):使用的数据位数量,范围为 5-8。默认值为 8。
  • parity (可选, 字符串):使用的校验方式。可选值为 NONEEVENODDMARKSPACE。默认值为 NONE
  • dummy_receiver (可选, 布尔值):如果设置为 true,通道将消耗接收到的任何数据。这对调试很有用。默认值为 false。
  • debug (可选, 布尔值):如果设置为 true,通道将记录所有发送和接收的数据。默认值为 false。

cdc_acm 类型是通用的 USB CDC ACM(抽象控制模型)设备。这是串行通信的常见 USB 设备类。 此驱动程序不严格强制执行 CDC-ACM 配置规范,因此可能适用于未正确实现该规范的设备。它期望找到一个中断端点、一个批量输入端点和一个批量输出端点。 cdc_acmesp_jtagstm32_vcp 类型不支持更改波特率、停止位或数据位数量,因为它们实现的是虚拟通道,通常不与物理 UART 关联。