One interrupt vector is associated with the transmitter for UART_S1[TDRE] and
UART_S1[TC] events. Another interrupt vector is associated with the receiver for
RDRF, IDLE, RXEDGIF, and LBKDIF events. A third vector is used for OR, NF, FE,
and PF error conditions. Each of these ten interrupt sources can be separately masked by
local interrupt enable masks. The flags can be polled by software when the local masks
are cleared to disable generation of hardware interrupt requests.
The UART transmitter has two status flags that can optionally generate hardware
interrupt requests. Transmit data register empty (UART_S1[TDRE]) indicates when there
is room in the transmit data buffer to write another transmit character to UART_D. If the
transmit interrupt enable (UART_C2[TIE]) bit is set, a hardware interrupt is requested
when UART_S1[TDRE] is set. Transmit complete (UART_S1[TC]) indicates that the
transmitter is finished transmitting all data, preamble, and break characters and is idle
with TxD at the inactive level. This flag is often used in systems with modems to
determine when it is safe to turn off the modem. If the transmit complete interrupt enable
(UART_C2[TCIE]) bit is set, a hardware interrupt is requested when UART_S1[TC] is
set. Instead of hardware interrupts, software polling may be used to monitor the
UART_S1[TDRE] and UART_S1[TC] status flags if the corresponding UART_C2[TIE]
or UART_C2[TCIE] local interrupt masks are cleared.
When a program detects that the receive data register is full (UART_S1[RDRF] = 1), it
gets the data from the receive data register by reading UART_D. The UART_S1[RDRF]
flag is cleared by reading UART_S1 while UART_S1[RDRF] is set and then reading
UART_D.
When polling is used, this sequence is naturally satisfied in the normal course of the user
program. If hardware interrupts are used, UART_S1 must be read in the interrupt service
routine (ISR). Normally, this is done in the ISR anyway to check for receive errors, so the
sequence is automatically satisfied.
The IDLE status flag includes logic that prevents it from getting set repeatedly when the
RxD line remains idle for an extended period of time. IDLE is cleared by reading
UART_S1 while UART_S1[IDLE] is set and then reading UART_D. After
UART_S1[IDLE] has been cleared, it cannot become set again until the receiver has
received at least one new character and has set UART_S1[RDRF].
If the associated error was detected in the received character that caused
UART_S1[RDRF] to be set, the error flags - noise flag (UART_S1[NF]), framing error
(UART_S1[FE]), and parity error flag (UART_S1[PF]) - are set at the same time as
UART_S1[RDRF]. These flags are not set in overrun cases.
If UART_S1[RDRF] was already set when a new character is ready to be transferred
from the receive shifter to the receive data buffer, the overrun (UART_S1[OR]) flag is
set instead of the data along with any associated NF, FE, or PF condition is lost.
Functional description
MKW01Z128 MCU Reference Manual, Rev. 3, 04/2016
666
Freescale Semiconductor, Inc.
Содержание MKW01Z128
Страница 7: ...MKW01xxRM Reference Manual Rev 3 04 2016 viii Freescale Semiconductor Inc...
Страница 11: ...MKW01xxRM Reference Manual Rev 3 04 2016 xii Freescale Semiconductor Inc...
Страница 31: ...MKW01Z128 Pins and Connections MKW01xxRM Reference Manual Rev 3 04 2016 2 8 Freescale Semiconductor Inc...
Страница 129: ...MKW01Z128 Transceiver MCU SPI Interface MKW01xxRM Reference Manual Rev 3 04 2016 8 6 Freescale Semiconductor Inc...
Страница 130: ...MKW01xxRM Reference Manual Rev 3 04 2016 Freescale Semiconductor Inc A 1 Appendix A MKW01Z128 MCU Reference Manual...
Страница 131: ...MKW01Z128 MCU Reference Manual MKW01xxRM Reference Manual Rev 3 04 2016 A 2 Freescale Semiconductor Inc...
Страница 133: ...MKW01Z128 MCU Reference Manual Rev 3 04 2016 2 Freescale Semiconductor Inc...
Страница 221: ...Private Peripheral Bus PPB memory map MKW01Z128 MCU Reference Manual Rev 3 04 2016 90 Freescale Semiconductor Inc...
Страница 233: ...Module clocks MKW01Z128 MCU Reference Manual Rev 3 04 2016 102 Freescale Semiconductor Inc...
Страница 255: ...Module operation in low power modes MKW01Z128 MCU Reference Manual Rev 3 04 2016 124 Freescale Semiconductor Inc...
Страница 279: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 148 Freescale Semiconductor Inc...
Страница 305: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 174 Freescale Semiconductor Inc...
Страница 325: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 194 Freescale Semiconductor Inc...
Страница 379: ...Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 248 Freescale Semiconductor Inc...
Страница 387: ...Memory map register descriptions MKW01Z128 MCU Reference Manual Rev 3 04 2016 256 Freescale Semiconductor Inc...
Страница 465: ...Functional Description MKW01Z128 MCU Reference Manual Rev 3 04 2016 334 Freescale Semiconductor Inc...
Страница 501: ...Initialization Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 370 Freescale Semiconductor Inc...
Страница 513: ...Interrupts MKW01Z128 MCU Reference Manual Rev 3 04 2016 382 Freescale Semiconductor Inc...
Страница 517: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 386 Freescale Semiconductor Inc...
Страница 611: ...Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 480 Freescale Semiconductor Inc...
Страница 633: ...CMP Trigger Mode MKW01Z128 MCU Reference Manual Rev 3 04 2016 502 Freescale Semiconductor Inc...
Страница 643: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 512 Freescale Semiconductor Inc...
Страница 671: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 540 Freescale Semiconductor Inc...
Страница 803: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 672 Freescale Semiconductor Inc...
Страница 843: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 712 Freescale Semiconductor Inc...
Страница 877: ...Initialization application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 746 Freescale Semiconductor Inc...