SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
UART mode includes seven possible interrupts prioritized to six levels.
When an interrupt is generated, the interrupt identification register (UARTi.UART_IIR) sets the UARTi.UART_IIR[0] IT_PENDING bit to 0 to indicate that an interrupt is pending, and indicates the type of interrupt through the UARTi.UART_IIR[5:1] bit field. Table 24-96 summarizes the interrupt control functions.
IIR[5:0] | Priority Level | Interrupt Type | Interrupt Source | Interrupt Reset Method |
---|---|---|---|---|
000001 | N/A | No Interrupt | N/A | N/A |
000110 | 1 | Receiver line status | OE, FE, PE, or BI errors occur in characters in the RX FIFO. | FE, PE, BI: Read the UART_RHR register. OE: Read the UART_LSR register. |
001100 | 2 | RX time-out | Stale data in RX FIFO | Read the UART_RHR register. |
000100 | 2 | RHR interrupt | DRDY (data ready) (FIFO disabled) RX FIFO above trigger level (FIFO enabled) | Read the UART_RHR register until the interrupt condition disappears |
000010 | 3 | THR interrupt | TFE (THR empty) (FIFO disabled) TX FIFO below trigger level (FIFO enabled) | Write to the UART_THR until the interrupt condition disappears |
000000 | 4 | Modem status | See the UART_MSR register. | Read the MSR register |
010000 | 5 | XOFF interrupt/special character interrupt | Receive XOFF characters/special character | Receive XON character(s), if XOFF interrupt/read of the UART_IIR register, if special character interrupt |
100000 | 6 | CTS, RTS | RTS pin or CTS pin change state from active (low) to inactive (high) | Read the UART_IIR register |
For the receiver-line status interrupt, the RX_FIFO_STS bit (UARTi.UART_LSR[7]) generates the interrupt.
For the XOFF interrupt, if an XOFF flow character detection caused the interrupt, the interrupt is cleared by an XON flow character detection. If special character detection caused the interrupt, the interrupt is cleared by a read of the UARTi.UART_IIR register.