Software flow control is enabled through the
enhanced feature register (UART_EFR) and the modem control register (UART_MCR).
Different combinations of software flow control can be enabled by setting different
combinations of the UART_EFR[3-0] bit field (see Table 12-472).
Two other enhanced features relate to software flow control:
- XON-any function (UART_MCR[5] XON_EN): Operation
resumes after receiving any character after the XOFF character is recognized. If
special character detect is enabled and special character is received after
XOFF1, it does not resume transmission. The special character is stored in the
RX FIFO.
Note:
The XON-any character is
written into the RX FIFO even if it is a software flow character.
- Special character (UART_EFR[5] SPECIAL_CHAR_DETEC
T): Incoming data is compared to XOFF2. When the special character is detected,
the XOFF interrupt (UART_IIR_UART) is set, but it does not halt transmission.
The XOFF interrupt is cleared by a read of UART_IIR_UART. The special character
is transferred to the RX FIFO. Special character does not work with XON2, XOFF2,
or sequential XOFFs.
Table 12-472 UART_EFR[3:0] Software Flow Control OptionsBit 3 | Bit 2 | Bit 1 | Bit 0 | TX, RX Software Flow Controls |
---|
0 | 0 | X | X | No transmit flow control |
1 | 0 | X | X | Transmit XON1, XOFF1 |
0 | 1 | X | X | Transmit XON2, XOFF2 |
1 | 1 | X | X | Transmit XON1, XON2: XOFF1, XOFF2(1) |
X | X | 0 | 0 | No receive flow control |
X | X | 1 | 0 | Receiver compares XON1, XOFF1 |
X | X | 0 | 1 | Receiver compares XON2, XOFF2 |
X | X | 1 | 1 | Receiver compares XON1, XON2: XOFF1, XOFF2(1) |
(1) In these cases, the XON1 and XON2 characters or the XOFF1 and XOFF2
characters must be transmitted/received sequentially with XON1/XOFF1 followed by
XON2/XOFF2.
XON1 is defined in the
UART_XON1_ADDR1[7-0] XON_WORD1 bit field. XON2 is defined in the
UART_XON2_ADDR2[7-0] XON_WORD2 bit field.
XOFF1
is defined in the UART_XOFF1[7-0] XOFF_WORD1 bit field. XOFF2 is defined in the
UART_XOFF2[7-0] XOFF_WORD2 bit field.