Merge branch 'doc/rmt_example_doc_improve' into 'master'

doc(rmt): update README.md file of rmt related example.

See merge request idf/esp-idf!2636
This commit is contained in:
Angus Gratton 2018-09-12 14:58:04 +08:00
commit cbcc60ae5f
2 changed files with 123 additions and 9 deletions

View file

@ -1,8 +1,80 @@
# Example: rmt_nec_tx_rx # _RMT NEC_TX_RX Example_
(See the README.md file in the upper level 'examples' directory for more information about examples.)
This example uses the remote control (RMT) peripheral to transmit and receive codes for the NEC infrared remote protocol. This example uses the remote control (RMT) peripheral to transmit and receive codes for the NEC infrared remote protocol.
Configuration (pin numbers, etc.) can be modified in top of the main/infrared_nec_main.c file. ## How to Use Example
By default, this example runs a self test which assumes the TX and RX GPIO pins are connected together. To disable this, comment RMT_RX_SELF_TEST in infrared_nec_main.c. ### Hardware Required
* A development board with ESP32 SoC (e.g., ESP32-DevKitC, ESP-WORVER-KIT, etc.)
* A USB cable for Power supply and programming
By default, this example runs a self test which assumes the TX pin (GPIO18) and RX pin (GPIO19) are _connected together_.
To disable self-test mode, comment out RMT_RX_SELF_TEST in infrared_nec_main.c, after which, you need to connect a IR transmitter and a receiver to GPIO18 and GPIO19.
The TX pin and RX pin can be modified in top of the main/infrared_nec_main.c file.
```
#define RMT_TX_GPIO_NUM 18 /*!< GPIO number for transmitter signal */
#define RMT_RX_GPIO_NUM 19 /*!< GPIO number for receiver */
```
### Configure the Project
```
make 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
```
(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
Run this example, you will see the following output log:
```
NEC: RMT TX DATA
NEC: RMT RCV --- addr: 0xee11 cmd: 0xff00
NEC: RMT RCV --- addr: 0xed12 cmd: 0xfe01
NEC: RMT RCV --- addr: 0xec13 cmd: 0xfd02
NEC: RMT RCV --- addr: 0xeb14 cmd: 0xfc03
NEC: RMT RCV --- addr: 0xea15 cmd: 0xfb04
NEC: RMT RCV --- addr: 0xe916 cmd: 0xfa05
NEC: RMT RCV --- addr: 0xe817 cmd: 0xf906
NEC: RMT RCV --- addr: 0xe718 cmd: 0xf807
NEC: RMT RCV --- addr: 0xe619 cmd: 0xf708
NEC: RMT RCV --- addr: 0xe51a cmd: 0xf609
NEC: RMT RCV --- addr: 0xe41b cmd: 0xf50a
NEC: RMT RCV --- addr: 0xe31c cmd: 0xf40b
NEC: RMT RCV --- addr: 0xe21d cmd: 0xf30c
NEC: RMT RCV --- addr: 0xe11e cmd: 0xf20d
NEC: RMT RCV --- addr: 0xe01f cmd: 0xf10e
NEC: RMT RCV --- addr: 0xdf20 cmd: 0xf00f
NEC: RMT RCV --- addr: 0xde21 cmd: 0xef10
NEC: RMT RCV --- addr: 0xdd22 cmd: 0xee11
NEC: RMT RCV --- addr: 0xdc23 cmd: 0xed12
NEC: RMT RCV --- addr: 0xdb24 cmd: 0xec13
NEC: RMT RCV --- addr: 0xda25 cmd: 0xeb14
```
## Troubleshooting
* Programming fail
* Hardware connection is not correct: run `make monitor`, and reboot your board to see if there is any output logs.
* The baud rate for downloading is too high: lower your baud rate in the `menuconfig` menu, and try again.
For any technical queries, please open an [issue] (https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.

View file

@ -1,12 +1,18 @@
# RMT Transmit Example # _RMT Transmit Example_
This example shows how to configure and operate the remote control (RMT) peripheral to transmit a sample message in the [Morse code](https://en.wikipedia.org/wiki/Morse_code). (See the README.md file in the upper level 'examples' directory for more information about examples.)
Configuration (pin number, etc.) can be modified in the top of the `main/rmt_tx_main.c` file. This example will shows how to configure and operate the remote control (RMT) peripheral to transmit a sample message in the [Morse code](https://en.wikipedia.org/wiki/Morse_code), it also shows how to transmit custom format of data.
To be able to see and hear the message output by the RMT, connect a LED and a speaker or an earphone (be careful - it may be loud) to the GPIO configured under `RMT_TX_GPIO` define (default is GPIO 18). ## How to Use Example
Example connections: ### Hardware Required
* A development board with ESP32 SoC (e.g., ESP32-DevKitC, ESP-WORVER-KIT, etc.)
* A USB cable for Power supply and programming
* A LED, a speaker or an earphone
Connection :
``` ```
330R LED 330R LED
@ -21,5 +27,41 @@ GPIO18 +----/\/\/\----+------|>|-----+ GND
+--------------+ GND +--------------+ GND
``` ```
### Configure the Project
See the README.md file in the upper level 'examples' directory for more information about examples. ```
make 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
```
(To exit the serial monitor, type ``Ctrl-]``.)
See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.
## Example Output
To be able to see and hear the message output by the RMT, connect a LED and a speaker or an earphone (be careful - it may be loud) to the GPIO18(the pin can be changed by modify the definition of `RMT_TX_GPIO` in `main/rmt_tx_main.c`).
Run this example, you will see the following output log:
```
RMT Tx: Transmission complete
RMT Tx: Sample transmission complete
```
## Troubleshooting
* Programming fail
* Hardware connection is not correct: run `make monitor`, and reboot your board to see if there is any output logs.
* The baud rate for downloading is too high: lower your baud rate in the `menuconfig` menu, and try again.
For any technical queries, please open an [issue] (https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.