examples: Fix UART examples to match the template
This commit is contained in:
@@ -1,21 +1,65 @@
|
||||
UART asynchronous example, that uses separate RX and TX tasks
|
||||
=============================================================
|
||||
# UART Asynchronous Example with Separate Receive and Transfer Tasks
|
||||
|
||||
Starts two FreeRTOS tasks:
|
||||
- One task for transmitting 'Hello world' via the UART.
|
||||
- One task for receiving from the UART.
|
||||
(See the README.md file in the upper level 'examples' directory for more information about examples.)
|
||||
|
||||
If you'd like to see your ESP32 receive something, simply short
|
||||
TXD_PIN and RXD_PIN. By doing this data transmitted on TXD_PIN will
|
||||
be received on RXD_PIN. See the definitions of TXD_PIN and RXD_PIN
|
||||
in ./main/uart_async_rxtxtasks_main.c.
|
||||
This example demonstrates how two asynchronous tasks can use the same UART interface for communication. One can use
|
||||
this example to develop more complex applications for serial communication.
|
||||
|
||||
The output for such configuration will look as follows:
|
||||
The example starts two FreeRTOS tasks:
|
||||
1. The first task periodically transmits `Hello world` via the UART.
|
||||
2. The second task task listens, receives and prints data from the UART.
|
||||
|
||||
## How to use example
|
||||
|
||||
### Hardware Required
|
||||
|
||||
The example can be run on any commonly available ESP32 development board. You will need a USB cable to connect the
|
||||
development board to a computer, and a simple one-wire cable for shorting two pins of the board.
|
||||
|
||||
### Setup the Hardware
|
||||
|
||||
The `RXD_PIN` and `TXD_PIN` which are configurable in the code (by default `GPIO4` and `GPIO5`) need to be shorted in
|
||||
order to receive back the same data which were sent out.
|
||||
|
||||
### Configure the project
|
||||
|
||||
```
|
||||
make menuconfig
|
||||
```
|
||||
or
|
||||
```
|
||||
idf.py menuconfig
|
||||
```
|
||||
|
||||
* Set serial port under Serial Flasher Options.
|
||||
|
||||
### Build and Flash
|
||||
|
||||
Build the project and flash it to the board, then run monitor tool to view serial output:
|
||||
|
||||
```
|
||||
make -j4 flash monitor
|
||||
```
|
||||
or
|
||||
```
|
||||
idf.py flash monitor
|
||||
```
|
||||
|
||||
(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
|
||||
|
||||
You will receive the following repeating output from the monitoring console:
|
||||
```
|
||||
...
|
||||
I (3261) TX_TASK: Wrote 11 bytes
|
||||
I (4261) RX_TASK: Read 11 bytes: 'Hello world'
|
||||
I (4261) RX_TASK: 0x3ffb821c 48 65 6c 6c 6f 20 77 6f 72 6c 64 |Hello world|
|
||||
...
|
||||
```
|
||||
The third line above prints received data in hex format, that comes handy to display non printable data bytes.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you do not see any output from `RX_TASK` then check if you have the `RXD_PIN` and `TXD_PIN` pins shorted on the board.
|
||||
|
||||
Reference in New Issue
Block a user