2021-05-24 01:50:04 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/*
 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-24 22:29:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  SPDX - FileCopyrightText :  2015 - 2024  Espressif  Systems  ( Shanghai )  CO  LTD 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-24 01:50:04 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  SPDX - License - Identifier :  Apache - 2.0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# pragma once 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  "esp_err.h" 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  "esp_intr_alloc.h" 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-10 10:37:58 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  "soc/soc_caps.h" 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  "freertos/FreeRTOS.h" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  "freertos/queue.h" 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  "hal/uart_types.h" 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-24 22:29:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# ifdef __cplusplus 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								extern  " C "  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-09 14:20:33 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/* @brief When calling `uart_set_pin`, instead of GPIO number, `UART_PIN_NO_CHANGE`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         can  be  provided  to  keep  the  currently  allocated  pin . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# define UART_PIN_NO_CHANGE      (-1) 
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# define UART_FIFO_LEN _Pragma ("GCC warning \"'UART_FIFO_LEN' macro is deprecated, please use 'UART_HW_FIFO_LEN' instead\"") SOC_UART_FIFO_LEN  ///< Length of the HP UART HW FIFO
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# if (SOC_UART_LP_NUM >= 1) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# define UART_HW_FIFO_LEN(uart_num) ((uart_num < SOC_UART_HP_NUM) ? SOC_UART_FIFO_LEN : SOC_LP_UART_FIFO_LEN)  ///< Length of the UART HW FIFO
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# define UART_HW_FIFO_LEN(uart_num) SOC_UART_FIFO_LEN                                                          ///< Length of the UART HW FIFO
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-10 10:37:58 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# define UART_BITRATE_MAX        SOC_UART_BITRATE_MAX     ///< Maximum configurable bitrate
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  UART  configuration  parameters  for  uart_param_config  function 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  baud_rate ;                       /*!< UART baud rate*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uart_word_length_t  data_bits ;        /*!< UART byte size*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uart_parity_t  parity ;                /*!< UART parity mode*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uart_stop_bits_t  stop_bits ;          /*!< UART stop bits*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uart_hw_flowcontrol_t  flow_ctrl ;     /*!< UART HW flow control mode (cts/rts)*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint8_t  rx_flow_ctrl_thresh ;         /*!< UART HW RTS threshold*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    union  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        uart_sclk_t  source_clk ;              /*!< UART source clock selection */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# if (SOC_UART_LP_NUM >= 1) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        lp_uart_sclk_t  lp_source_clk ;        /*!< LP_UART source clock selection */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-15 19:07:58 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    struct  { 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-10 21:02:34 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        uint32_t  allow_pd :  1 ;                /*!< If set, driver allows the power domain to be powered off when system enters sleep mode.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                                 This  can  save  power ,  but  at  the  expense  of  more  RAM  being  consumed  to  save  register  context .  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        uint32_t  backup_before_sleep :  1 ;     /*!< @deprecated, same meaning as allow_pd */ 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-15 19:07:58 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    }  flags ;                                 /*!< Configuration flags */ 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  uart_config_t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  UART  interrupt  configuration  parameters  for  uart_intr_config  function 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  intr_enable_mask ;           /*!< UART interrupt enable mask, choose from UART_XXXX_INT_ENA_M under UART_INT_ENA_REG(i), connect with bit-or operator*/ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint8_t   rx_timeout_thresh ;          /*!< UART timeout interrupt threshold (unit: time of sending one byte)*/ 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint8_t   txfifo_empty_intr_thresh ;   /*!< UART TX empty interrupt threshold.*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint8_t   rxfifo_full_thresh ;         /*!< UART RX full interrupt threshold.*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}  uart_intr_config_t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  UART  event  types  used  in  the  ring  buffer 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  enum  { 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-09 17:36:52 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    UART_DATA ,               /*!< Triggered when the receiver either takes longer than rx_timeout_thresh
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                 to  receive  a  byte ,  or  when  more  data  is  received  than  what  rxfifo_full_thresh 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                 specifies */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    UART_BREAK ,              /*!< Triggered when the receiver detects a NULL character*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    UART_BUFFER_FULL ,        /*!< Triggered when RX ring buffer is full*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    UART_FIFO_OVF ,           /*!< Triggered when the received data exceeds the capacity of the RX FIFO*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    UART_FRAME_ERR ,          /*!< Triggered when the receiver detects a data frame error*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    UART_PARITY_ERR ,         /*!< Triggered when a parity error is detected in the received data*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    UART_DATA_BREAK ,         /*!< Internal event triggered to signal a break afte data transmission*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    UART_PATTERN_DET ,        /*!< Triggered when a specified pattern  is detected in the incoming data*/ 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-12 11:03:38 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# if SOC_UART_SUPPORT_WAKEUP_INT 
 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-09 17:36:52 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    UART_WAKEUP ,             /*!< Triggered when a wakeup signal is detected*/ 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-22 18:10:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# endif 
 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-09 17:36:52 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    UART_EVENT_MAX ,          /*!< Maximum index for UART events*/ 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  uart_event_type_t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Event  structure  used  in  UART  event  queue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uart_event_type_t  type ;  /*!< UART event type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    size_t  size ;             /*!< UART data size for UART_DATA event*/ 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-30 22:05:48 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    bool  timeout_flag ;       /*!< UART data read timeout flag for UART_DATA event (no new data received during configured RX TOUT)*/ 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-22 17:27:43 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    /*!< If the event is caused by FIFO-full interrupt, then there will be no event with the timeout flag before the next byte coming.*/ 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  uart_event_t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  intr_handle_t  uart_isr_handle_t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Install  UART  driver  and  set  the  UART  to  the  default  configuration . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  UART  ISR  handler  will  be  attached  to  the  same  CPU  core  that  this  function  is  running  on . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ note   Rx_buffer_size  should  be  greater  than  UART_HW_FIFO_LEN ( uart_num ) .  Tx_buffer_size  should  be  either  zero  or  greater  than  UART_HW_FIFO_LEN ( uart_num ) . 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  rx_buffer_size  UART  RX  ring  buffer  size . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  tx_buffer_size  UART  TX  ring  buffer  size . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         If  set  to  zero ,  driver  will  not  use  TX  buffer ,  TX  function  will  block  task  until  all  data  have  been  sent  out . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  queue_size  UART  event  queue  size / depth . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  uart_queue  UART  event  queue  handle  ( out  param ) .  On  success ,  a  new  queue  handle  is  written  here  to  provide 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         access  to  UART  events .  If  set  to  NULL ,  driver  will  not  use  an  event  queue . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  intr_alloc_flags  Flags  used  to  allocate  the  interrupt .  One  or  multiple  ( ORred ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         ESP_INTR_FLAG_ *  values .  See  esp_intr_alloc . h  for  more  info .  Do  not  set  ESP_INTR_FLAG_IRAM  here 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         ( the  driver ' s  ISR  handler  is  not  located  in  IRAM ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_driver_install ( uart_port_t  uart_num ,  int  rx_buffer_size ,  int  tx_buffer_size ,  int  queue_size ,  QueueHandle_t *  uart_queue ,  int  intr_alloc_flags ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Uninstall  UART  driver . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_driver_delete ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 13:48:36 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Checks  whether  the  driver  is  installed  or  not 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  true   driver  is  installed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  false  driver  is  not  installed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								bool  uart_is_driver_installed ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  data  bits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  data_bit  UART  data  bits 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_word_length ( uart_port_t  uart_num ,  uart_word_length_t  data_bit ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Get  the  UART  data  bit  configuration . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  data_bit  Pointer  to  accept  value  of  UART  data  bits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL   Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK     Success ,  result  will  be  put  in  ( * data_bit ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_word_length ( uart_port_t  uart_num ,  uart_word_length_t *  data_bit ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  stop  bits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  stop_bits   UART  stop  bits 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Fail 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_stop_bits ( uart_port_t  uart_num ,  uart_stop_bits_t  stop_bits ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Get  the  UART  stop  bit  configuration . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  stop_bits   Pointer  to  accept  value  of  UART  stop  bits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success ,  result  will  be  put  in  ( * stop_bit ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_stop_bits ( uart_port_t  uart_num ,  uart_stop_bits_t *  stop_bits ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  parity  mode . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  parity_mode  the  enum  of  uart  parity  configuration 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL   Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK     Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_parity ( uart_port_t  uart_num ,  uart_parity_t  parity_mode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Get  the  UART  parity  mode  configuration . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  parity_mode  Pointer  to  accept  value  of  UART  parity  mode . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL   Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK     Success ,  result  will  be  put  in  ( * parity_mode ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_parity ( uart_port_t  uart_num ,  uart_parity_t *  parity_mode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-28 10:47:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Get  the  frequency  of  a  clock  source  for  the  HP  UART  port 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-28 10:47:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  sclk  Clock  source 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param [ out ]  out_freq_hz  Output  of  frequency ,  in  Hz 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *   -  ESP_ERR_INVALID_ARG :  if  the  clock  source  is  not  supported 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *   -  otherwise  ESP_OK 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_sclk_freq ( uart_sclk_t  sclk ,  uint32_t *  out_freq_hz ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  baud  rate . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  baudrate  UART  baud  rate . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_baudrate ( uart_port_t  uart_num ,  uint32_t  baudrate ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Get  the  UART  baud  rate  configuration . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  baudrate  Pointer  to  accept  value  of  UART  baud  rate 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success ,  result  will  be  put  in  ( * baudrate ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_baudrate ( uart_port_t  uart_num ,  uint32_t *  baudrate ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  line  inverse  mode 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-10 10:37:58 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  inverse_mask  Choose  the  wires  that  need  to  be  inverted .  Using  the  ORred  mask  of  ` uart_signal_inv_t ` 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_line_inverse ( uart_port_t  uart_num ,  uint32_t  inverse_mask ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  hardware  flow  control . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num    UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  flow_ctrl  Hardware  flow  control  mode 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  rx_thresh  Threshold  of  Hardware  RX  flow  control  ( 0  ~  UART_HW_FIFO_LEN ( uart_num ) ) . 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *         Only  when  UART_HW_FLOWCTRL_RTS  is  set ,  will  the  rx_thresh  value  be  set . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_hw_flow_ctrl ( uart_port_t  uart_num ,  uart_hw_flowcontrol_t  flow_ctrl ,  uint8_t  rx_thresh ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 16:02:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  software  flow  control . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num    UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 16:02:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  enable      switch  on  or  off 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  rx_thresh_xon   low  water  mark 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  rx_thresh_xoff  high  water  mark 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-22 17:27:43 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_sw_flow_ctrl ( uart_port_t  uart_num ,  bool  enable ,   uint8_t  rx_thresh_xon ,   uint8_t  rx_thresh_xoff ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 16:02:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Get  the  UART  hardware  flow  control  configuration . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  flow_ctrl  Option  for  different  flow  control  mode . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success ,  result  will  be  put  in  ( * flow_ctrl ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_hw_flow_ctrl ( uart_port_t  uart_num ,  uart_hw_flowcontrol_t *  flow_ctrl ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Clear  UART  interrupt  status 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  clr_mask   Bit  mask  of  the  interrupt  status  to  be  cleared . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_clear_intr_status ( uart_port_t  uart_num ,  uint32_t  clr_mask ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  interrupt  enable 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num      UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  enable_mask   Bit  mask  of  the  enable  bits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_enable_intr_mask ( uart_port_t  uart_num ,  uint32_t  enable_mask ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Clear  UART  interrupt  enable  bits 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num       UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  disable_mask   Bit  mask  of  the  disable  bits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_disable_intr_mask ( uart_port_t  uart_num ,  uint32_t  disable_mask ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Enable  UART  RX  interrupt  ( RX_FULL  &  RX_TIMEOUT  INTERRUPT ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_enable_rx_intr ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Disable  UART  RX  interrupt  ( RX_FULL  &  RX_TIMEOUT  INTERRUPT ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_disable_rx_intr ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Disable  UART  TX  interrupt  ( TX_FULL  &  TX_TIMEOUT  INTERRUPT ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_disable_tx_intr ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Enable  UART  TX  interrupt  ( TX_FULL  &  TX_TIMEOUT  INTERRUPT ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  enable   1 :  enable ;  0 :  disable 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  thresh   Threshold  of  TX  interrupt ,  0  ~  UART_HW_FIFO_LEN ( uart_num ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_enable_tx_intr ( uart_port_t  uart_num ,  int  enable ,  int  thresh ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-09 14:20:33 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Assign  signals  of  a  UART  peripheral  to  GPIO  pins 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ note  If  the  GPIO  number  configured  for  a  UART  signal  matches  one  of  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        IOMUX  signals  for  that  GPIO ,  the  signal  will  be  connected  directly 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        via  the  IOMUX .  Otherwise  the  GPIO  and  signal  will  be  connected  via 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        the  GPIO  Matrix .  For  example ,  if  on  an  ESP32  the  call 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        ` uart_set_pin ( 0 ,  1 ,  3 ,  - 1 ,  - 1 ) `  is  performed ,  as  GPIO1  is  UART0 ' s 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        default  TX  pin  and  GPIO3  is  UART0 ' s  default  RX  pin ,  both  will  be 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        connected  to  respectively  U0TXD  and  U0RXD  through  the  IOMUX ,  totally 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        bypassing  the  GPIO  matrix . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        The  check  is  performed  on  a  per - pin  basis .  Thus ,  it  is  possible  to  have 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        RX  pin  binded  to  a  GPIO  through  the  GPIO  matrix ,  whereas  TX  is  binded 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        to  its  GPIO  through  the  IOMUX . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-07 11:51:16 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ note  It  is  possible  to  configure  TX  and  RX  to  share  the  same  IO  ( single  wire  mode ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        but  please  be  aware  of  output  conflict ,  which  could  damage  the  pad . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        Apply  open - drain  and  pull - up  to  the  pad  ahead  of  time  as  a  protection , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        or  the  upper  layer  protocol  must  guarantee  no  output  from  two  ends  at  the  same  time . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num    UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  tx_io_num   UART  TX  pin  GPIO  number . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  rx_io_num   UART  RX  pin  GPIO  number . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  rts_io_num  UART  RTS  pin  GPIO  number . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  cts_io_num  UART  CTS  pin  GPIO  number . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_pin ( uart_port_t  uart_num ,  int  tx_io_num ,  int  rx_io_num ,  int  rts_io_num ,  int  cts_io_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Manually  set  the  UART  RTS  pin  level . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ note   UART  must  be  configured  with  hardware  flow  control  disabled . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  level     1 :  RTS  output  low  ( active ) ;  0 :  RTS  output  high  ( block ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_rts ( uart_port_t  uart_num ,  int  level ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Manually  set  the  UART  DTR  pin  level . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  level     1 :  DTR  output  low ;  0 :  DTR  output  high 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_dtr ( uart_port_t  uart_num ,  int  level ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-10-18 12:04:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  idle  interval  after  tx  FIFO  is  empty 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2017-10-18 12:04:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  idle_num  idle  interval  after  tx  FIFO  is  empty ( unit :  the  time  it  takes  to  send  one  bit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         under  current  baudrate ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_tx_idle_num ( uart_port_t  uart_num ,  uint16_t  idle_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  UART  configuration  parameters . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num     UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_config  UART  parameter  settings 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_param_config ( uart_port_t  uart_num ,  const  uart_config_t  * uart_config ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Configure  UART  interrupts . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  intr_conf  UART  interrupt  settings 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_intr_config ( uart_port_t  uart_num ,  const  uart_intr_config_t  * intr_conf ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Wait  until  UART  TX  FIFO  is  empty . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num       UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  ticks_to_wait  Timeout ,  count  in  RTOS  ticks 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_TIMEOUT   Timeout 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_wait_tx_done ( uart_port_t  uart_num ,  TickType_t  ticks_to_wait ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Send  data  to  the  UART  port  from  a  given  buffer  and  length . 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  This  function  will  not  wait  for  enough  space  in  TX  FIFO .  It  will  just  fill  the  available  TX  FIFO  and  return  when  the  FIFO  is  full . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ note  This  function  should  only  be  used  when  UART  TX  buffer  is  not  enabled . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  buffer  data  buffer  address 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  len     data  length  to  send 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ( - 1 )   Parameter  error 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  OTHERS  ( > = 0 )  The  number  of  bytes  pushed  to  the  TX  FIFO 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  uart_tx_chars ( uart_port_t  uart_num ,  const  char *  buffer ,  uint32_t  len ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Send  data  to  the  UART  port  from  a  given  buffer  and  length , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  If  the  UART  driver ' s  parameter  ' tx_buffer_size '  is  set  to  zero : 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  This  function  will  not  return  until  all  the  data  have  been  sent  out ,  or  at  least  pushed  into  TX  FIFO . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  Otherwise ,  if  the  ' tx_buffer_size '  >  0 ,  this  function  will  return  after  copying  all  the  data  to  tx  ring  buffer , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  UART  ISR  will  then  move  data  from  the  ring  buffer  to  TX  FIFO  gradually . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  src    data  buffer  address 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  size   data  length  to  send 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ( - 1 )  Parameter  error 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  OTHERS  ( > = 0 )  The  number  of  bytes  pushed  to  the  TX  FIFO 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-26 20:30:09 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								int  uart_write_bytes ( uart_port_t  uart_num ,  const  void *  src ,  size_t  size ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Send  data  to  the  UART  port  from  a  given  buffer  and  length , 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-02 09:53:21 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  If  the  UART  driver ' s  parameter  ' tx_buffer_size '  is  set  to  zero : 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  This  function  will  not  return  until  all  the  data  and  the  break  signal  have  been  sent  out . 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  After  all  data  is  sent  out ,  send  a  break  signal . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  Otherwise ,  if  the  ' tx_buffer_size '  >  0 ,  this  function  will  return  after  copying  all  the  data  to  tx  ring  buffer , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  UART  ISR  will  then  move  data  from  the  ring  buffer  to  TX  FIFO  gradually . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  After  all  data  sent  out ,  send  a  break  signal . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  src    data  buffer  address 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  size   data  length  to  send 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-14 19:47:16 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  brk_len  break  signal  duration ( unit :  the  time  it  takes  to  send  one  bit  at  current  baudrate ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ( - 1 )  Parameter  error 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-27 22:03:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  OTHERS  ( > = 0 )  The  number  of  bytes  pushed  to  the  TX  FIFO 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-26 20:30:09 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								int  uart_write_bytes_with_break ( uart_port_t  uart_num ,  const  void *  src ,  size_t  size ,  int  brk_len ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  UART  read  bytes  from  UART  buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  buf      pointer  to  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  length   data  length 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  ticks_to_wait  sTimeout ,  count  in  RTOS  ticks 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ( - 1 )  Error 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-14 15:55:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  OTHERS  ( > = 0 )  The  number  of  bytes  read  from  UART  buffer 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-26 20:30:09 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								int  uart_read_bytes ( uart_port_t  uart_num ,  void *  buf ,  uint32_t  length ,  TickType_t  ticks_to_wait ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-25 21:04:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Alias  of  uart_flush_input . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         UART  ring  buffer  flush .  This  will  discard  all  data  in  the  UART  RX  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ note   Instead  of  waiting  the  data  sent  out ,  this  function  will  clear  UART  rx  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         In  order  to  send  all  the  data  in  tx  FIFO ,  we  can  use  uart_wait_tx_done  function . 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_flush ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-25 21:04:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  Clear  input  buffer ,  discard  all  the  data  is  in  the  ring - buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ note   In  order  to  send  all  the  data  in  tx  FIFO ,  we  can  use  uart_wait_tx_done  function . 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-25 21:04:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_flush_input ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief    UART  get  RX  ring  buffer  cached  data  length 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param    uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param    size  Pointer  of  size_t  to  accept  cached  data  length 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_buffered_data_len ( uart_port_t  uart_num ,  size_t *  size ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-06-29 17:56:38 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief    UART  get  TX  ring  buffer  free  space  size 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param    uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param    size  Pointer  of  size_t  to  accept  the  free  space  size 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_tx_buffer_free_size ( uart_port_t  uart_num ,  size_t  * size ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief    UART  disable  pattern  detect  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *           Designed  for  applications  like  ' AT  commands ' . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *           When  the  hardware  detects  a  series  of  one  same  character ,  the  interrupt  will  be  triggered . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-19 12:52:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_disable_pattern_det_intr ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  UART  enable  pattern  detect  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         Designed  for  applications  like  ' AT  commands ' . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         When  the  hardware  detect  a  series  of  one  same  character ,  the  interrupt  will  be  triggered . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number . 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-01 18:00:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  pattern_chr  character  of  the  pattern . 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  chr_num  number  of  the  character ,  8 bit  value . 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-01 18:00:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  chr_tout  timeout  of  the  interval  between  each  pattern  characters ,  16 bit  value ,  unit  is  the  baud - rate  cycle  you  configured . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         When  the  duration  is  more  than  this  value ,  it  will  not  take  this  data  as  at_cmd  char . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  post_idle  idle  time  after  the  last  pattern  character ,  16 bit  value ,  unit  is  the  baud - rate  cycle  you  configured . 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *         When  the  duration  is  less  than  this  value ,  it  will  not  take  the  previous  data  as  the  last  at_cmd  char 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-01 18:00:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  pre_idle  idle  time  before  the  first  pattern  character ,  16 bit  value ,  unit  is  the  baud - rate  cycle  you  configured . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         When  the  duration  is  less  than  this  value ,  it  will  not  take  this  data  as  the  first  at_cmd  char . 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-01 18:00:10 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								esp_err_t  uart_enable_pattern_det_baud_intr ( uart_port_t  uart_num ,  char  pattern_chr ,  uint8_t  chr_num ,  int  chr_tout ,  int  post_idle ,  int  pre_idle ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-08-25 21:04:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Return  the  nearest  detected  pattern  position  in  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         The  positions  of  the  detected  pattern  are  saved  in  a  queue , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         this  function  will  dequeue  the  first  pattern  position  and  move  the  pointer  to  next  pattern  position . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ note   If  the  RX  buffer  is  full  and  flow  control  is  not  enabled , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         the  detected  pattern  may  not  be  found  in  the  rx  buffer  due  to  overflow . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         The  following  APIs  will  modify  the  pattern  position  info : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         uart_flush_input ,  uart_read_bytes ,  uart_driver_delete ,  uart_pop_pattern_pos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         It  is  the  application ' s  responsibility  to  ensure  atomic  access  to  the  pattern  queue  and  the  rx  data  buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         when  using  pattern  detect  feature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-25 21:04:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ( - 1 )  No  pattern  found  for  current  index  or  parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  others  the  pattern  position  in  rx  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  uart_pattern_pop_pos ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-03 12:34:16 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Return  the  nearest  detected  pattern  position  in  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         The  positions  of  the  detected  pattern  are  saved  in  a  queue , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         This  function  do  nothing  to  the  queue . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ note   If  the  RX  buffer  is  full  and  flow  control  is  not  enabled , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         the  detected  pattern  may  not  be  found  in  the  rx  buffer  due  to  overflow . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         The  following  APIs  will  modify  the  pattern  position  info : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         uart_flush_input ,  uart_read_bytes ,  uart_driver_delete ,  uart_pop_pattern_pos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         It  is  the  application ' s  responsibility  to  ensure  atomic  access  to  the  pattern  queue  and  the  rx  data  buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         when  using  pattern  detect  feature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-03 12:34:16 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ( - 1 )  No  pattern  found  for  current  index  or  parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  others  the  pattern  position  in  rx  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  uart_pattern_get_pos ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-08-25 21:04:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Allocate  a  new  memory  with  the  given  length  to  save  record  the  detected  pattern  position  in  rx  buffer . 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-25 21:04:13 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  queue_length  Max  queue  length  for  the  detected  pattern . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         If  the  queue  length  is  not  large  enough ,  some  pattern  positions  might  be  lost . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         Set  this  value  to  the  maximum  number  of  patterns  that  could  be  saved  in  data  buffer  at  the  same  time . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_NO_MEM  No  enough  memory 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_STATE  Driver  not  installed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_FAIL  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_pattern_queue_reset ( uart_port_t  uart_num ,  int  queue_length ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ brief  UART  set  communication  mode 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ note   This  function  must  be  executed  after  uart_driver_install ( ) ,  when  the  driver  object  is  initialized . 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num      Uart  number  to  configure ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  mode  UART     UART  mode  to  set 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 16:48:14 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_mode ( uart_port_t  uart_num ,  uart_mode_t  mode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-18 19:06:40 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  uart  threshold  value  for  RX  fifo  full 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ note  If  application  is  using  higher  baudrate  and  it  is  observed  that  bytes 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        in  hardware  RX  fifo  are  overwritten  then  this  threshold  can  be  reduced 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-18 19:06:40 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  threshold  Threshold  value  above  which  RX  fifo  full  interrupt  is  generated 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_STATE  Driver  is  not  installed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_rx_full_threshold ( uart_port_t  uart_num ,  int  threshold ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  uart  threshold  values  for  TX  fifo  empty 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-24 11:42:01 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num  UART  port  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-18 19:06:40 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  threshold  Threshold  value  below  which  TX  fifo  empty  interrupt  is  generated 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK    Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_STATE  Driver  is  not  installed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_tx_empty_threshold ( uart_port_t  uart_num ,  int  threshold ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  UART  set  threshold  timeout  for  TOUT  feature 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num      Uart  number  to  configure ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  tout_thresh   This  parameter  defines  timeout  threshold  in  uart  symbol  periods .  The  maximum  value  of  threshold  is  126. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         tout_thresh  =  1 ,  defines  TOUT  interrupt  timeout  equal  to  transmission  time  of  one  symbol  ( ~ 11  bit )  on  current  baudrate . 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *         If  the  time  is  expired  the  UART_RXFIFO_TOUT_INT  interrupt  is  triggered .  If  tout_thresh  = =  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         the  TOUT  feature  is  disabled . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 16:48:14 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_STATE  Driver  is  not  installed 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_rx_timeout ( uart_port_t  uart_num ,  const  uint8_t  tout_thresh ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Returns  collision  detection  flag  for  RS485  mode 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         Function  returns  the  collision  detection  flag  into  variable  pointed  by  collision_flag . 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-31 10:33:40 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *         * collision_flag  =  true ,  if  collision  detected  else  it  is  equal  to  false . 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *         This  function  should  be  executed  when  actual  transmission  is  completed  ( after  uart_write_bytes ( ) ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   Uart  number  to  configure  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  collision_flag  Pointer  to  variable  of  type  bool  to  return  collision  flag . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-14 11:01:30 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  ESP_OK  Success 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 16:48:14 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *      -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 11:56:00 +05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_collision_flag ( uart_port_t  uart_num ,  bool *  collision_flag ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-08-14 03:40:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Set  the  number  of  RX  pin  signal  edges  for  light  sleep  wakeup 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  UART  can  be  used  to  wake  up  the  system  from  light  sleep .  This  feature  works 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  by  counting  the  number  of  positive  edges  on  RX  pin  and  comparing  the  count  to 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  the  threshold .  When  the  count  exceeds  the  threshold ,  system  is  woken  up  from 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  light  sleep .  This  function  allows  setting  the  threshold  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Stop  bit  and  parity  bits  ( if  enabled )  also  contribute  to  the  number  of  edges . 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 17:28:55 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  For  example ,  letter  ' a '  with  ASCII  code  97  is  encoded  as  0100001101  on  the  wire 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-14 03:40:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  ( with  8 n1  configuration ) ,  start  and  stop  bits  included .  This  sequence  has  3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  positive  edges  ( transitions  from  0  to  1 ) .  Therefore ,  to  wake  up  the  system 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  when  ' a '  is  sent ,  set  wakeup_threshold = 3. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  The  character  that  triggers  wakeup  is  not  received  by  UART  ( i . e .  it  can  not 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  be  obtained  from  UART  FIFO ) .  Depending  on  the  baud  rate ,  a  few  characters 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  after  that  will  also  not  be  received .  Note  that  when  the  chip  enters  and  exits 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-23 10:17:20 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  light  sleep  mode ,  APB  frequency  will  be  changing .  To  ensure  that  UART  has 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  correct  Baud  rate  all  the  time ,  it  is  necessary  to  select  a  source  clock  which  has 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  a  fixed  frequency  and  remains  active  during  sleep .  For  the  supported  clock  sources 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  of  the  chips ,  please  refer  to  ` uart_sclk_t `  or  ` soc_periph_uart_clk_src_legacy_t ` 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-14 03:40:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 17:28:55 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ note  in  ESP32 ,  the  wakeup  signal  can  only  be  input  via  IO_MUX  ( i . e . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        GPIO3  should  be  configured  as  function_1  to  wake  up  UART0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        GPIO9  should  be  configured  as  function_5  to  wake  up  UART1 ) ,  UART2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *        does  not  support  light  sleep  wakeup  feature . 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-14 03:40:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-14 03:40:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  wakeup_threshold   number  of  RX  edges  for  light  sleep  wakeup ,  value  is  3  . .  0x3ff . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *       -  ESP_OK  on  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *       -  ESP_ERR_INVALID_ARG  if  uart_num  is  incorrect  or  wakeup_threshold  is 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *         outside  of  [ 3 ,  0x3ff ]  range . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_wakeup_threshold ( uart_port_t  uart_num ,  int  wakeup_threshold ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ brief  Get  the  number  of  RX  pin  signal  edges  for  light  sleep  wakeup . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  See  description  of  uart_set_wakeup_threshold  for  the  explanation  of  UART 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  wakeup  feature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param  uart_num   UART  number ,  the  max  port  number  is  ( UART_NUM_MAX  - 1 ) . 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-14 03:40:31 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  @ param [ out ]  out_wakeup_threshold   output ,  set  to  the  current  value  of  wakeup 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                                    threshold  for  the  given  UART . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *       -  ESP_OK  on  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *       -  ESP_ERR_INVALID_ARG  if  out_wakeup_threshold  is  NULL 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_get_wakeup_threshold ( uart_port_t  uart_num ,  int *  out_wakeup_threshold ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-05-22 20:21:11 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  @ brief  Wait  until  UART  tx  memory  empty  and  the  last  char  send  ok  ( polling  mode ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  @ param  uart_num  UART  number 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  * 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  *  *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *       -  ESP_OK  on  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *       -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *       -  ESP_FAIL  Driver  not  installed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								esp_err_t  uart_wait_tx_idle_polling ( uart_port_t  uart_num ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  @ brief  Configure  TX  signal  loop  back  to  RX  module ,  just  for  the  test  usage . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  @ param  uart_num  UART  number 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-25 14:11:33 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  *  @ param  loop_back_en  Set  true  to  enable  the  loop  back  function ,  else  set  it  false . 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *       -  ESP_OK  on  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *       -  ESP_ERR_INVALID_ARG  Parameter  error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *       -  ESP_FAIL  Driver  not  installed 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-22 20:21:11 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  */ 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-17 20:19:44 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								esp_err_t  uart_set_loop_back ( uart_port_t  uart_num ,  bool  loop_back_en ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-22 20:21:11 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-03-30 22:05:48 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  @ brief  Configure  behavior  of  UART  RX  timeout  interrupt . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  When  always_rx_timeout  is  true ,  timeout  interrupt  is  triggered  even  if  FIFO  is  full . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  This  function  can  cause  extra  timeout  interrupts  triggered  only  to  send  the  timeout  event . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  Call  this  function  only  if  you  want  to  ensure  timeout  interrupt  will  always  happen  after  a  byte  stream . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  @ param  uart_num  UART  number 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *  @ param  always_rx_timeout_en  Set  to  false  enable  the  default  behavior  of  timeout  interrupt , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  *                              set  it  to  true  to  always  trigger  timeout  interrupt . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								void  uart_set_always_rx_timeout ( uart_port_t  uart_num ,  bool  always_rx_timeout_en ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 09:45:40 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# ifdef __cplusplus 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif