
1. Configure the UART.
a. Select a baud rate. Write this value to the UART baud registers (BDH/L) to
begin the baud rate generator. Remember that the baud rate generator is disabled
when the baud rate is zero. Writing to the BDH has no effect without also
writing to BDL.
b. Write to C1 to configure word length, parity, and other configuration bits
(LOOPS, RSRC, M, WAKE, ILT, PE, and PT). Write to C4, MA1, and MA2 to
configure.
c. Enable the transmitter, interrupts, receiver, and wakeup as required, by writing to
C2 (TIE, TCIE, RIE, ILIE, TE, RE, RWU, and SBK), S2 (MSBF and BRK13),
and C3 (ORIE, NEIE, PEIE, and FEIE). A preamble or idle character is then
shifted out of the transmitter shift register.
2. Transmit procedure for each byte.
a. Monitor S1[TDRE] by reading S1 or responding to the TDRE interrupt.
b. If the TDRE flag is set, or there is space in the transmit buffer, write the data to
be transmitted to (C3[T8]/D). A new transmission will not result until data exists
in the transmit buffer.
3. Repeat step 2 for each subsequent transmission.
Note
During normal operation, S1[TDRE] is set when the shift
register is loaded with the next data to be transmitted from the
transmit buffer. This occurs 9/16ths of a bit time after the start
of the stop bit of the previous frame.
To separate messages with preambles with minimum idle line time, use this sequence
between messages.
1. Write the last dataword of the first message to C3[T8]/D.
2. Wait for S1[TDRE] to go high, indicating the transfer of the last frame to the
transmit shift register.
3. Queue a preamble by clearing and then setting C2[TE].
4. Write the first and subsequent datawords of the second message to C3[T8]/D.
Application information
KL27 Sub-Family Reference Manual , Rev. 5, 01/2016
740
Freescale Semiconductor, Inc.