跳转到内容

TinyUSB

tinyusb 组件实现了 USB 设备功能的基础。目前在以下 ESP32 微控制器变体上支持:

  • ESP32-P4
  • ESP32-S2
  • ESP32-S3

该组件仅初始化 TinyUSB 驱动程序,允许微控制器在连接到 USB 主机时充当 USB 设备。

NOTE

此组件:

  • 实现任何特定的设备功能;它只是其他组件实现功能的基础。
  • 不能与 USB 主机一起使用;同时作为主机和设备运行是不可能的。
# 示例最小配置条目
tinyusb:
  • id (可选, ID):手动指定此组件的 ID。
  • usb_product_id (可选, 整数):USB 产品标识符。默认为 0x4001
  • usb_vendor_id (可选, 整数):USB 供应商标识符。默认为 0x303A(乐鑫)。
  • usb_lang_id (可选, 整数):USB 语言标识符。默认为 0x0409(英语 - 美国)。
  • usb_manufacturer_str (可选, 字符串):制造商字符串描述符。默认为 "ESPHome"
  • usb_product_str (可选, 字符串):产品名称字符串描述符。默认为 "ESPHome"
  • usb_serial_str (可选, 字符串):序列号字符串描述符。如果未指定,将使用设备的 MAC 地址。

指定自定义 usb_vendor_idusb_product_id 值时,请注意:

  • USB 供应商 ID 由 USB 实施者论坛 (USB-IF) 官方分配。
  • 使用未分配或第三方的供应商/产品 ID 组合可能会导致意外的(主机)行为。
  • 默认供应商 ID 0x303A 分配给乐鑫。
  • 对于爱好者和开发目的,您可以使用测试 ID,但这些不应用于生产设备。

usb_lang_id 字段使用 USB 规范定义的 USB 语言 ID。常见值包括:

  • 0x0409 - 英语(美国)- 默认
  • 0x0809 - 英语(英国)
  • 0x0407 - 德语(德国)
  • 0x040C - 法语(法国)

更完整的列表可以在这里找到。