758
SAM4CP [DATASHEET]
43051E–ATPL–08/14
36.6.3.15 Hardware Handshaking
The USART features a hardware handshaking out-of-band flow control. The RTS and CTS pins are used to connect with
the remote device, as shown in
Figure 36-26
.
Figure 36-26. Connection with a Remote Device for Hardware Handshaking
Setting the USART to operate with hardware handshaking is performed by writing the USART_MODE field in US_MR to
the value 0x2.
The USART behavior when hardware handshaking is enabled is the same as the behavior in standard synchronous or
asynchronous mode, except that the receiver drives the RTS pin as described below and the level on the CTS pin
modifies the behavior of the transmitter as described below. Using this mode requires using the PDC channel for
reception. The transmitter can handle hardware handshaking in any case.
Figure 36-27
shows how the receiver operates if hardware handshaking is enabled. The RTS pin is driven high if the
receiver is disabled and if the status RXBUFF (Receive Buffer Full) coming from the PDC channel is high. Normally, the
remote device does not start transmitting while its CTS pin (driven by RTS) is high. As soon as the Receiver is enabled,
the RTS falls, indicating to the remote device that it can start transmitting. Defining a new buffer to the PDC clears the
status bit RXBUFF and, as a result, asserts the pin RTS low.
Figure 36-27. Receiver Behavior when Operating with Hardware Handshaking
Figure 36-28
shows how the transmitter operates if hardware handshaking is enabled. The CTS pin disables the
transmitter. If a character is being processing, the transmitter is disabled only after the completion of the current
character and transmission of the next character happens as soon as the pin CTS falls.
Figure 36-28. Transmitter Behavior when Operating with Hardware Handshaking
USART
TXD
CTS
Remote
Device
RXD
TXD
RXD
RTS
RTS
CTS
RTS
RXBUFF
Write
US_CR
RXEN = 1
RXD
RXDIS = 1
CTS
TXD