SLAU847F October 2022 – March 2026 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2116 , MSPM0L2117 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
Data received or transmitted is stored in two FIFOs. The receive FIFO has an extra four bits per character for status information.
Transmit data:
If the UART is enabled, and data is written to the FIFO, then a data frame starts transmitting with the parameters indicated in the UARTx.LCRH register. Data continues to be transmitted until there is no data left in the transmit FIFO. The BUSY bit in the UARTx.STAT register is asserted when data is written to the transmit FIFO (if the FIFO is not empty), and remains asserted while data is being transmitted. The BUSY bit is cleared when the transmit FIFO is empty (including the stop bits). The UART can indicate BUSY even though the UART can no longer be enabled. BUSY also is set during the generation of a BREAK signal.
Receive data:
When the receiver is idle (the RX signal is continuously 1), and the data input goes low (a start bit has been received), the receive counter begins running. Data is sampled on the different cycle based on the oversampling setting of the HSE bit in UARTx.CTL0 register.
The start bit is recognized if the RX signal is still low after certain number for cycles based on the oversampling setting. Successive data bits are sampled after a valid start bit is detected. The parity bit is checked if parity mode is enabled. Data length and parity are defined in the UART.LCRH register. Oversampling is explained in Section 21.2.3.2.
The valid stop bit is confirmed if the RXD signal is high, otherwise a framing error has occurred. The data is stored in the receive FIFO along with any error bits associated with that word when a full word is received.