USB 主机接口
ESP32-S2、ESP32-S3、ESP32-S31、ESP32-P4 和 ESP32-H4 上的 USB 主机接口用于连接 USB 外设设备。可以配置多个
设备,但一次只能连接一个。默认情况下设备必须
直接连接到 ESP32,但可以通过将 enable_hubs 选项设置为 true 来更改。
此组件被 usb_uart 组件使用,以允许 ESP32 连接到 USB 串口设备。也可以
在此组件中直接配置设备,但这除了调试目的外没有应用。
# 示例配置条目usb_host: enable_hubs: true max_transfer_requests: 32 # 用于 USB UART 在 115200+ 波特的高吞吐量设备 devices: - id: device_0 vid: 0x1725 pid: 0x1234# ESP32-P4 配合 USB 高速(512 字节 MPS)usb_host: max_packet_size: 512- id (可选, ID): 用于此组件的 id。
- enable_hubs (可选, boolean): 是否包含对 hub 的支持。默认为
false。 - max_transfer_requests (可选, int): 最大并发 USB 传输请求数。范围:1-32。默认为
16。如果看到 “All X transfer slots in use” 错误,请增加此值以用于高吞吐量设备(例如 115200+ 波特的 USB UART)。 - max_packet_size (可选, int): 最大 USB 数据包大小(字节)。默认为
64(USB 全速)。有效选项值为 64、128、256、512 和 1024。适用于 USB-HS 设备,例如 ESP32-P4。 - devices (可选, list): 要配置的设备列表。
设备配置选项
Section titled “设备配置选项”- id (可选, ID): 分配给设备的 id。
- vid (必选, int): 设备的供应商 ID。使用 0 作为通配符。
- pid (必选, int): 设备的产品 ID。使用 0 作为通配符。
将 vid 和 pid 都设置为 0 将匹配任何设备。
如果配置了设备且连接的设备与配置匹配,该设备将 连接到 ESP32,并会在 DEBUG 级别出现日志条目。如果日志级别设置为 VERBOSE, 则将转储设备的配置描述符。设备将保持连接状态,直到 断开连接或 ESP32 重置。
如果插入的设备与任何已配置的设备不匹配,该设备将被断开 并在 DEBUG 级别出现日志条目。