UM10429
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2010. All rights reserved.
User manual
Rev. 1 — 20 October 2010
75 of 258
NXP Semiconductors
UM10429
Chapter 10: LPC1102 Universal Asynchronous Transmitter (UART)
[1]
Values “0000”, “0011”, “0101”, “0111”, “1000”, “1001”, “1010”, “1011”,”1101”,”1110”,”1111” are reserved.
[2]
For details see
Section 10.5.8 “UART Line Status Register”
[3]
For details see
Section 10.5.1 “UART Receiver Buffer Register ( DLAB = 0, Read Only)”
[4]
For details see
Section 10.5.5 “UART Interrupt Identification Register (U0IIR - 0x4004 8008, Read Only)”
Section 10.5.2 “UART Transmitter Holding Register (DLAB = 0, Write Only)”
The UART THRE interrupt (U0IIR[3:1] = 001) is a third level interrupt and is activated
when the UART THR FIFO is empty provided certain initialization conditions have been
met. These initialization conditions are intended to give the UART THR FIFO a chance to
fill up with data to eliminate many THRE interrupts from occurring at system start-up. The
initialization conditions implement a one character delay minus the stop bit whenever
THRE = 1 and there have not been at least two characters in the U0THR at one time
since the last THRE = 1 event. This delay is provided to give the CPU time to write data to
U0THR without a THRE interrupt to decode and service. A THRE interrupt is set
immediately if the UART THR FIFO has held two or more characters at one time and
currently, the U0THR is empty. The THRE interrupt is reset when a U0THR write occurs or
a read of the U0IIR occurs and the THRE is the highest interrupt (U0IIR[3:1] = 001).
10.5.6 UART FIFO Control Register (Write Only)
The U0FCR controls the operation of the UART RX and TX FIFOs.
0100
Second RX Data
Available
Rx data available or trigger level reached in FIFO
(U0FCR0=1)
U0RBR
Read
UART FIFO
drops below
trigger level
1100
Second Character
Time-out
indication
Minimum of one character in the RX FIFO and no
character input or removed during a time period
depending on how many characters are in FIFO
and what the trigger level is set at (3.5 to 4.5
character times).
The exact time will be:
[(word length)
×
7 - 2]
×
8 + [(trigger level - number
of characters)
×
8 + 1] RCLKs
U0RBR
Read
0010
Third
THRE
THRE
U0IIR
Read
(if
source of
interrupt) or
THR write
Table 78.
UART Interrupt Handling
U0IIR[3:0]
value
[1]
Priority Interrupt
type
Interrupt source
Interrupt
reset