在 ESp32C3 上使用 USB Host

最近入手了Beetle ESP32 C3(SKU:DFR0868),整体非常小巧。这次尝试用它搭配之前的 Micro USB Host 【参考1】读取USB 鼠标信息。

第一次使用 ESP32 C3,有如下需要注意的地方:

  1. 推荐使用Pin 21 输出 Debug 信息。就是说在使用的时候最好外部连接一个串口转USB Dongle接收信息

  1. 在使用中出现过无法刷新的情况,恢复方法是:先按下Boot按钮,然后再按下 Reset按钮,最后松开Reset 按钮,再松开 Boot按钮,再次刷新即可;

硬件连接如下:


名称   
Beetle ESP32 C3Beetle ESP32 C3名称
INTIO0IO6MOSI
GNDGNDIO5MISO
MD-USB 母头 D-IO7SS
MD+USB 母头 D+IO4SCLK
VBCOMPN/A3.3VRESET
GNDGND3.3V3.3V

之后需要对USB Host 库进行修改,修改位置如下:

  1. \USB_Host_Shield_Library\UsbCore.h
#elif defined(ESP32)
#ifdef CONFIG_IDF_TARGET_ESP32C3
typedef MAX3421e<P7, P0> MAX3421E; // ESP32C3 boards SS INT
#else
typedef MAX3421e<P5, P17> MAX3421E; // ESP32 boards
#endif
#elif (defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__))

2. \USB_Host_Shield_Library\avrpins.h

// Pinout for ESP32 dev module

MAKE_PIN(P0, 0);
MAKE_PIN(P7, 7);	//LABZDebug
MAKE_PIN(P1, 1); // TX0
MAKE_PIN(P10, 10); // TX1
MAKE_PIN(P3, 3); // RX0
MAKE_PIN(P21, 21); // SDA
MAKE_PIN(P22, 22); // SCL

之后,可以运行库自带的测试例子 \USB_Host_Shield_Library\examples\HID\USBHIDBootMouse

最终的测试板子:

运行结果如下,可以看到正常得到了鼠标数据:

参考:

1. https://www.lab-z.com/microusbhost/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注