|
|
4 年之前 | |
|---|---|---|
| .. | ||
| main | 3 年之前 | |
| CMakeLists.txt | 3 年之前 | |
| README.md | 3 年之前 | |
| Supported Targets | ESP32-S2 | ESP32-S3 |
|---|
(See the README.md file in the upper level 'examples' directory for more information about examples.)
This example shows how to use the CDC-ACM Host Driver to allow an ESP chip to communicate with a USB CDC-ACM device.
Two ESP boards that have USB-OTG supported. One will act as USB host and the other as USB device.
Connect USB_D+, USB_D-, GND and +5V signals of USB host to USB device.
See common pin assignments for USB Device examples from upper level.
Build this project and flash it to the USB host board, then run monitor tool to view serial output:
idf.py -p PORT flash monitor
(Replace PORT with the name of the serial port to use.)
(To exit the serial monitor, type Ctrl-].)
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
USB CDC device example tusb_serial_device example can be configured to act as dual CDC device.
In the device example project, enter command idf.py menuconfig and set Component config->TinyUSB Stack->Communication Device Class (CDC)->CDC channel Count to 2.
This settings also changes device's PID, so EXAMPLE_USB_DEVICE_PID in usb-cdc.c must be changed to 0x4002.
After the flashing you should see the output at idf monitor:
...
I (256) USB-CDC: USB Host installed
I (256) USB-CDC: Opening CDC ACM device 0x303A:0x4001
...
Device descriptor is printed here
...
I (1666) USB-CDC: Data received
I (1666) USB-CDC: 0x3ffc4c20 41 54 0d |AT.|
I (2666) USB-CDC: Data received
I (2666) USB-CDC: 0x3ffc4c20 41 54 2b 47 53 4e 0d |AT+GSN.|
I (3666) USB-CDC: Setting up line coding
I (3666) USB-CDC: Line Get: Rate: 115200, Stop bits: 0, Parity: 0, Databits: 8
I (3666) USB-CDC: Line Set: Rate: 9600, Stop bits: 1, Parity: 1, Databits: 7
I (3666) USB-CDC: Line Get: Rate: 9600, Stop bits: 1, Parity: 1, Databits: 7
I (3676) Example finished successfully!
...