
668
SAM G51 [DATASHEET]
11209C–ATARM–20-Dec-13
29.5.3 Transmitter
29.5.3.1
Transmitter Reset, Enable and Disable
After device reset, the UART transmitter is disabled and must be enabled before being used. The transmitter is enabled
by writing UART_CR with the bit TXEN at 1. From this command, the transmitter waits for a character to be written in the
Transmit Holding Register (UART_THR) before actually starting the transmission.
The programmer can disable the transmitter by writing UART_CR with the bit TXDIS at 1. If the transmitter is not
operating, it is immediately stopped. However, if a character is being processed into the Shift Register and/or a character
has been written in the Transmit Holding Register, the characters are completed before the transmitter is actually
stopped.
The programmer can also put the transmitter in its reset state by writing the UART_CR with the bit RSTTX at 1. This
immediately stops the transmitter, whether or not it is processing characters.
29.5.3.2
Transmit Format
The UART transmitter drives the pin UTXD at the baud rate clock speed. The line is driven depending on the format
defined in UART_MR and the data stored in the Shift Register. One start bit at level 0, then the 8 data bits, from the
lowest to the highest bit, one optional parity bit and one stop bit at 1 are consecutively shifted out as shown in the
following figure. The field PARE in UART_MR defines whether or not a parity bit is shifted out. When a parity bit is
enabled, it can be selected between an odd parity, an even parity, or a fixed space or mark bit.
Figure 29-9.
Character Transmission
29.5.3.3
Transmitter Control
When the transmitter is enabled, the bit TXRDY (Transmitter Ready) is set in UART_SR. The transmission starts when
the programmer writes in the Transmit Holding register (UART_THR), and after the written character is transferred from
UART_THR to the Shift Register. The TXRDY bit 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 shift register and
TXRDY rises again, showing that the holding register is empty.
When both the Shift Register and UART_THR are empty, i.e., all the characters written in UART_THR have been
processed, the TXEMPTY bit rises after the last stop bit has been completed.
D0
D1
D2
D3
D4
D5
D6
D7
UTXD
Start
Bit
Parity
Bit
Stop
Bit
Example: Parity enabled
Baud Rate
Clock