47.5.3.3 Transmitter Control
When the transmitter is enabled, UART_SR.TXRDY is set. The transmission starts when the programmer writes in the UART_THR, and after the written character is transferred from UART_THR to the internal shift register. TXRDY remains high until a second character is written in UART_THR. As soon as the first character is completed, the last character written in UART_THR is transferred into the internal shift register and TXRDY rises again, showing that the holding register is empty.
When both the internal shift register and UART_THR are empty, i.e., all the characters written in UART_THR have been processed, TXEMPTY rises after the last stop bit has been completed.