mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00:00 
			
		
		
		
	 0d0bec6c31
			
		
	
	0d0bec6c31
	
	
	
		
			
			It is now possible to start a REPL CLI on another UART than the default one. Closes https://github.com/espressif/esp-idf/issues/6897
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # UART REPL Example
 | |
| 
 | |
| (See the README.md file in the upper level 'examples' directory for more information about examples.)
 | |
| 
 | |
| This example demonstrates how to use REPL console on a different UART than the default one.
 | |
| It also shows how to connect these two UART together, either for testing or for sending commands
 | |
| without any human interaction.
 | |
| 
 | |
| ## How to use example
 | |
| 
 | |
| ### Hardware Required
 | |
| 
 | |
| The example can be run on any ESP board that have at least 2 UARTs. The development board shall be connected to a
 | |
| PC with a single USB cable for flashing and monitoring. If you are willing to monitor the console UART, you may use
 | |
| a 3.3V compatible USB-to-Serial dongle on its GPIO pin.
 | |
| 
 | |
| ### Setup the Hardware
 | |
| 
 | |
| No external connection is needed in order to run the example. However, as stated before, if you are willing to see what
 | |
| is going on on the second UART (console UART), you can connect pins CONSOLE_UART_TX_PIN (5 by default) and
 | |
| CONSOLE_UART_RX_PIN (4 by default) to a Serial-to-USB adapter.
 | |
| 
 | |
| ### Configure the project
 | |
| 
 | |
| The default values, located at the top of `main/uart_repl_example_main.c` can be changed such as:
 | |
| DEFAULT_UART_CHANNEL, CONSOLE_UART_CHANNEL, DEFAULT_UART_RX_PIN, DEFAULT_UART_TX_PIN, CONSOLE_UART_RX_PIN,
 | |
| CONSOLE_UART_TX_PIN, UARTS_BAUD_RATE, TASK_STACK_SIZE, and READ_BUF_SIZE.
 | |
| 
 | |
| ### Build and Flash
 | |
| 
 | |
| Build the project and flash it to the board, then run monitor tool to view default UART's serial output:
 | |
| 
 | |
| ```
 | |
| idf.py -p PORT 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
 | |
| 
 | |
| The example will set up the default UART to use DEFAULT_UART_RX_PIN and DEFAULT_UART_TX_PIN. Then, it will set up
 | |
| the REPL console on the second UART. Finally, it will connect both UARTs together in order to let default UART
 | |
| be able to send commands and receive replies to and from the console UART.
 | |
| 
 | |
| Here is a diagram of what UARTs will look like:
 | |
| 
 | |
| ```
 | |
|                   UART default      UART console
 | |
| 
 | |
| USB monitoring <------ TX -----------> RX----+
 | |
|                                              v
 | |
|                                        Parse command
 | |
|                                      and output result
 | |
|                                              |                 Optional 3.3V
 | |
|                        RX <----------- TX<---+  (----------->) Serial-to-USB
 | |
|                                                                   Adapter
 | |
| ```
 | |
| 
 | |
| If everything goes fine, the output on default UART should be "Result: Success". Else, it should be "Result: Failure". |