在 ESp32C3 上使用 USB Host
最近入手了BeetleESP32 C3(SKU:DFR0868),整体非常小巧。这次尝试用它搭配之前的Micro USB Host 【参考1】读取USB 鼠标信息。第一次使用 ESP32 C3,有如下需要注意的地方:1. 推荐使用Pin21 输出 Debug 信息。就是说在使用的时候最好外部连接一个串口转USBDongle接收信息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
之后需要对USBHost 库进行修改,修改位置如下:1. \USB_Host_Shield_Library\UsbCore.h
<div><p class="MsoNormal">#elif defined(ESP32)<o:p></o:p></p>
<p class="MsoNormal">#ifdef CONFIG_IDF_TARGET_ESP32C3<o:p></o:p></p>
<p class="MsoNormal">typedef MAX3421e<P7, P0> MAX3421E; // ESP32C3 boards
SS INT<o:p></o:p></p>
<p class="MsoNormal">#else<o:p></o:p></p>
<p class="MsoNormal">typedef MAX3421e<P5, P17> MAX3421E; // ESP32 boards<o:p></o:p></p>
<p class="MsoNormal">#endif<o:p></o:p></p>
<p class="MsoNormal">#elif (defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__))<o:p></o:p></p></div><div></div>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/
你好,我使用esp32s3 编译 USB_Host_Shield_Library的例程 提示 Compilation error: 'USB' does not name a type 请问怎么解决 Eason_QAQ 发表于 2023-7-28 14:59
你好,我使用esp32s3 编译 USB_Host_Shield_Library的例程 提示 Compilation error: 'USB' does not name a ...
你切换到 uno 再编译一次看看?
感觉是你usb host 库有问题 厉害厉害 赞赞赞赞赞!!主板也可以接鼠标了! 厉害厉害 赞赞赞赞赞!泰裤辣!
页:
[1]