English
Language : 

RM0313 Datasheet, PDF (657/900 Pages) STMicroelectronics – This reference manual targets application developers
RM0313
Universal synchronous asynchronous receiver transmitter (USART)
RTS flow control
If the RTS flow control is enabled (RTSE=1), then nRTS is asserted (tied low) as long as the
USART receiver is ready to receive a new data. When the receive register is full, nRTS is
deasserted, indicating that the transmission is expected to stop at the end of the current
frame. Figure 219 shows an example of communication with RTS flow control enabled.
Figure 219. RTS flow control
Start
RX
Bit
nRTS
Data 1
SBtoitpIdleSBtaitrt
Data 2
Stop
Bit
RXNE
Data 1 read
RXNE
Data 2 can now be transmitted
CTS flow control
If the CTS flow control is enabled (CTSE=1), then the transmitter checks the nCTS input
before transmitting the next frame. If nCTS is asserted (tied low), then the next data is
transmitted (assuming that data is to be transmitted, in other words, if TXE=0), else the
transmission does not occur. When nCTS is deasserted during a transmission, the current
transmission is completed before the transmitter stops.
When CTSE=1, the CTSIF status bit is automatically set by hardware as soon as the nCTS
input toggles. It indicates when the receiver becomes ready or not ready for communication.
An interrupt is generated if the CTSIE bit in the USART_CR3 register is set. Figure 220
shows an example of communication with CTS flow control enabled.
Figure 220. CTS flow control
CTS
CTS
Note:
nCTS
Transmit data register
TDR
Data 2
empty
TX
Data 1
StopStart
Bit Bit
Data 2
Data 3
Stop
Bit
Idle
Start
Bit
empty
Data 3
Writing data 3 in TDR
Transmission of Data 3
is delayed until nCTS = 0
For correct behavior, nCTS must be asserted at least 3 USART clock source periods before
the end of the current character. In addition it should be noted that the CTSCF flag may not
be set for pulses shorter than 2 x PCLK periods.
DocID022448 Rev 4
657/900
684