Receiving Serial Data: Follow the procedure in figure 12.7 for receiving serial data.
1
Initialize
1. SCI initialization: the receive data function of the RxD
pin is selected automatically.
Start receiving
2. To continue receiving serial data: read RDR and
clear RDRF to 0 before the stop bit of the current
frame is received.
Read ORER, PER, and
FER in SSR
2
3. SCI status check and receive data read: read the
serial status register (SSR), check that RDRF is set
to 1, then read receive data from the receive data
register (RDR) and clear RDRF to 0. Transition of
the RDRF bit from 0 to 1 can be reported by an RXI
interrupt.
Yes
PER RER
ORER = 1?
No
4
4. Receive error handling and break detection: if a
receive error occurs, read the ORER, PER, and
FER bits in SSR to identify the error. After executing
the necessary error handling, clear ORER, PER, and
FER all to 0. Transmitting and receiving cannot
resume if ORER, PER, or FER remains set to 1.
When a framing error occurs, the RxD pin can be
read to detect the break state.
3
Read RDRF bit in SSR
Error handling
No
RDRF = 1?
Yes
Read receive data from RDR,
and clear RDRF bit to 0
in SSR
No
Finished
receiving?
Yes
Clear RE to 0 in SCR
End
Start error handling
Yes
Yes
FER = 1?
No
Break?
No
Clear RE to 0
Discriminate and
process error, and
clear flags
in SCR
End
Return
Figure 12.7 Sample Flowchart for Receiving Serial Data
266