SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
The UART mode includes seven possible interrupts prioritized to six levels.
When an interrupt is generated, the interrupt identification register (UART_IIR_UART) sets the UART_IIR_UART[0] IT_PENDING bit to 0 to indicate that an interrupt is pending, and indicates the type of interrupt through the UART_IIR_UART[5-1] bit field. Table 12-456 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_UART 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_UART 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_UART register |
For the receiver-line status interrupt, the UART_LSR_UART[7] RX_FIFO_STS bit 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 UART_IIR_UART register.