Software Flow Control

Software flow control uses the XON/XOFF (Transmit ON/Transmit OFF) method. This method has an advantage over hardware flow control methods since it does not require additional hardware lines, which significantly reduces wiring complexity.

In the XON/XOFF method, special characters are sent by the receiver to the transmitter that are used to suspend and resume transactions. These characters are not specifically defined by any standard, such as ASCII. However, the ASCII standard provides generic ‘device control’ characters, DC1 – DC4. The UART module specifically uses the ASCII control characters DC1 (0x11) and DC3 (0x13) as the XON and XOFF control characters, respectively. When one terminal is unable to accept data, it sends the XOFF character to the other terminal, which in turn suspends transmission. When the other terminal is ready to accept data again, it simply sends the XON character back to the first terminal, which resumes transmission. The Software Flow Control Transmit Enable Status (XON) bit of the UxFIFO STATUS register can be used to determine if the transmitter is enabled/disabled.