When the receiver FIFO and receiver interrupts are
enabled (FCR0 = 1, IER0 = 1, IER2 = 1), a receiver interrupt occurs as follows:
- The received data available interrupt is issued to the microprocessor when the
FIFO has reached its programmed trigger level. It is cleared when the FIFO drops
below its programmed trigger level.
- The IIR receive data available indication also occurs when the FIFO trigger
level is reached, and like the interrupt, it is cleared when the FIFO drops
below the trigger level.
- The receiver line status interrupt (IIR = 06) has higher priority than the
received data available (IIR = 04) interrupt.
- The data ready bit (LSR0) is set when a character is transferred from the shift
register to the receiver FIFO. It is cleared when the FIFO is empty.
When the receiver FIFO and receiver interrupts are enabled:
-
- At least one character is in the FIFO.
- The most recent serial character was received more than four continuous
character times ago (if two stop bits are programmed, the second one is
included in this time delay).
- The most recent microprocessor read of the FIFO has occurred more than
four continuous character times before. This causes a maximum character
received command to interrupt an issued delay of 160 ms at a 300 baud
rate with a 12-bit character.
- Character times are calculated by using the RCLK input for a clock signal (makes
the delay proportional to the baud rate).
- When a time-out interrupt has occurred, it is cleared and the timer is cleared
when the microprocessor reads one character from the receiver FIFO.
- When a time-out interrupt has not occurred, the time-out timer is cleared after
a new character is received or after the microprocessor reads the receiver
FIFO.
When the transmitter FIFO and THRE interrupt are enabled (FCR0 = 1, IER1 = 1), transmit
interrupts occur as follows:
- The transmitter holding register empty interrupt [IIR (3 −0) = 2] occurs when
the transmit FIFO is empty. It is cleared [IIR (3 −0) = 1] when the THR is
written to (1 to 16 characters may be written to the transmit FIFO while
servicing this interrupt) or the IIR is read.
- The transmitter holding register empty interrupt is delayed one character time
minus the last stop bit time when there have not been at least two bytes in the
transmitter FIFO at the same time since the last time that the FIFO was empty.
The first transmitter interrupt after changing FCR0 is immediate if it is
enabled.