SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The PRUSS_UART0 transmitter section includes a transmitter hold register (THR) mapped in the PRUSS_UART_RBR_THR_REGISTERS [7:0] DATA bitfield and a transmitter shift register (TSR). When the PRUSS_UART0 is in the FIFO mode, THR is a 16-byte FIFO. Transmitter section control is a function of the PRUSS_UART0 line control register PRUSS_UART_LINE_CONTROL_REGISTER. Based on the settings chosen in this register, the PRUSS_UART0 transmitter sends the following to the receiving device:
THR receives data from the internal data bus, and when TSR is ready, the PRUSS_UART0 moves the data from THR to TSR. The PRUSS_UART0 serializes the data in TSR and transmits the data on the UART0_TXD pin.
In the non-FIFO mode, if THR is empty and the THR empty (THRE) interrupt is enabled in the interrupt enable register PRUSS_UART_INTERRUPT_ENABLE_REGISTER, an interrupt is generated. This interrupt is cleared when a character is loaded into THR or the interrupt identification register PRUSS_UART_INTERRUPT_IDENTIFICATION_REGISTER_FIFO_CONTROL_REGISTER bitfield INTID is read. In the FIFO mode, the interrupt is generated when the transmitter FIFO is empty, and it is cleared when at least one byte is loaded into the FIFO or INTID bitfield is read.