SWRU626 December 2025 CC3501E , CC3551E
The receive-data register I2Cx.RXDATA is user accessible and contains the current character to be read from the RX FIFO stack. The last received character from the receive shift register will be push to the end of the FIFO Stack.
The transmit data register I2Cx.TXDATA is user accessible and holds the data last written data to the TX FIFO. The TX FIFO contains the data waiting to be moved into the transmit shift register and transmitted on SDA.
FIFOs are common for the Controller and Target receive and transmit. Each FIFO entry has a width of 8 bits and should be accessed in Byte mode. Each FIFO has a programmable threshold point (configured by RX/TXTRIG bits in the I2Cx.FIFOCTL registers) which indicates when the FIFO service interrupt should be generated. Additionally, a FIFO receive full and transmit empty interrupt can be enabled in the interrupt mask (IMASK) registers for the Controller and Target.
The content of the FIFO can be erased with setting TXFLUSH or RXFLUSH bit to 1 in the I2Cx.FIFOCTL registers. When the I2C gets reset the content of the FIFO needs also to be cleared.