
DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10360_0
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 00.06 — 5 June 2009
298 of 808
NXP Semiconductors
UM10360
Chapter 15: LPC17xx UART1
wished to send a 105 character message and the trigger level was 10 characters, the
CPU would receive 10 RDA interrupts resulting in the transfer of 100 characters and 1 to 5
CTI interrupts (depending on the service routine) resulting in the transfer of the remaining
5 characters.
[1]
Values "0000", “0011”, “0101”, “0111”, “1000”, “1001”, “1010”, “1011”,”1101”,”1110”,”1111” are reserved.
[2]
For details see
Section 15–4.10 “UART1 Line Status Register (U1LSR - 0x4001 0014, Read Only)”
[3]
Section 15–4.1 “UART1 Receiver Buffer Register (U1RBR - 0x4001 0000, when DLAB = 0,
[4]
For details see
Section 15–4.5 “UART1 Interrupt Identification Register (U1IIR - 0x4001 0008, Read Only)”
Section 15–4.2 “UART1 Transmitter Holding Register (U1THR - 0x4001 0000 when DLAB = 0, Write
The UART1 THRE interrupt (U1IIR[3:1] = 001) is a third level interrupt and is activated
when the UART1 THR FIFO is empty provided certain initialization conditions have been
met. These initialization conditions are intended to give the UART1 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 U1THR at one time since
the last THRE = 1 event. This delay is provided to give the CPU time to write data to
U1THR without a THRE interrupt to decode and service. A THRE interrupt is set
immediately if the UART1 THR FIFO has held two or more characters at one time and
currently, the U1THR is empty. The THRE interrupt is reset when a U1THR write occurs or
a read of the U1IIR occurs and the THRE is the highest interrupt (U1IIR[3:1] = 001).
Table 275: UART1 Interrupt Handling
U1IIR[3:0]
value
Priority Interrupt
Type
Interrupt Source
Interrupt
Reset
0001
-
None
None
-
0110
Highest RX Line
Status /
Error
or FE
or BI
U1LSR
Read
0100
Second RX Data
Available
Rx data available or trigger level reached in FIFO
(U1FCR0=1)
U1RBR
Read
UART1
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
U1RBR
Read
0010
Third
THRE
THRE
U1IIR
Read
(if
source of
interrupt) or
THR write
0000
Fourth
Modem
Status
CTS or DSR or RI or DCD
MSR Read