13 UART Controller (UART)
UART can also control the software flow by transmitting special characters. Setting UART_SW_FLOW_CON_EN
will enable the software flow control function. If the number of data bytes that UART has received exceeds that
of the UART_XOFF threshold, the UART controller can send UART_XOFF_CHAR to instruct its counterpart to stop
data transmission.
When UART_SW_FLOW_CON_EN is 1, software can send flow control characters at any time. When UART_SEND
_XOFF is set, the transmitter will insert a UART_XOFF_CHAR and send it after the current data transmission is
completed. When UART_SEND_XON is set, the transmitter will insert a UART_XON_CHAR and send it after the
current data transmission is completed.
13.3.8 UART DMA
For information on the UART DMA, please refer to Chapter
13.3.9 UART Interrupts
• UART_AT_CMD_CHAR_DET_INT: Triggered when the receiver detects the configured at_cmd char.
• UART_RS485_CLASH_INT: Triggered when a collision is detected between transmitter and receiver in RS-
485 mode.
• UART_RS485_FRM_ERR_INT: Triggered when a data frame error is detected in RS-485.
• UART_RS485_PARITY_ERR_INT: Triggered when a parity error is detected in RS-485 mode.
• UART_TX_DONE_INT: Triggered when the transmitter has sent out all FIFO data.
• UART_TX_BRK_IDLE_DONE_INT: Triggered when the transmitter's idle state has been kept to a minimum
after sending the last data.
• UART_TX_BRK_DONE_INT: Triggered when the transmitter completes sending NULL characters, after all
data in transmit-FIFO are sent.
• UART_GLITCH_DET_INT: Triggered when the receiver detects a START bit.
• UART_SW_XOFF_INT: Triggered, if the receiver gets an Xon char when UART_SW_FLOW_CON_EN is set to
1.
• UART_SW_XON_INT: Triggered, if the receiver gets an Xoff char when UART_SW_FLOW_CON_EN is set to
1.
• UART_RXFIFO_TOUT_INT: Triggered when the receiver takes more time than RX_TOUT_THRHD to receive
a byte.
• UART_BRK_DET_INT: Triggered when the receiver detects a NULL character (i.e. logic 0 for one NULL
character transmission) after stop bits.
• UART_CTS_CHG_INT: Triggered when the receiver detects an edge change of the CTSn signal.
• UART_DSR_CHG_INT: Triggered when the receiver detects an edge change of the DSRn signal.
• UART_RXFIFO_OVF_INT: Triggered when the receiver gets more data than the FIFO can store.
• UART_FRM_ERR_INT: Triggered when the receiver detects a data frame error .
• UART_PARITY_ERR_INT: Triggered when the receiver detects a parity error in the data.
• UART_TXFIFO_EMPTY_INT: Triggered when the amount of data in the transmit-FIFO is less than what
tx_mem_cnttxfifo_cnt specifies.
Espressif Systems
DMA
Controller.
353
Submit Documentation Feedback
ESP32 TRM (Version 5.2)
Need help?
Do you have a question about the ESP32 and is the answer not in the manual?