mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
|
| Supported Targets | ESP32-S2 | ESP32-S3 |
|
||
|
| ----------------- | -------- | -------- |
|
||
|
|
||
|
# USB CDC-ACM Host Driver Example
|
||
|
|
||
|
(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.
|
||
|
|
||
|
## How to use example
|
||
|
|
||
|
### Hardware Required
|
||
|
|
||
|
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.
|
||
|
|
||
|
#### Pin Assignment
|
||
|
|
||
|
See common pin assignments for USB Device examples from [upper level](../../../README.md#common-pin-assignments).
|
||
|
|
||
|
### Build and Flash
|
||
|
|
||
|
1. Build and flash [tusb_serial_device example](../../../tusb_serial_device) to USB device board.
|
||
|
2. Build this project and flash it to the USB host board, then run monitor tool to view serial output:
|
||
|
|
||
|
```bash
|
||
|
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.
|
||
|
|
||
|
## Example Output
|
||
|
|
||
|
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
|
||
|
CDC Header Descriptor:
|
||
|
bcdCDC: 1.20
|
||
|
CDC Call Descriptor:
|
||
|
bmCapabilities: 0x00
|
||
|
bDataInterface: 1
|
||
|
CDC ACM Descriptor:
|
||
|
bmCapabilities: 0x02
|
||
|
CDC Union Descriptor:
|
||
|
bControlInterface: 0
|
||
|
bSubordinateInterface[0]: 1
|
||
|
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!
|
||
|
...
|
||
|
|
||
|
```
|