280
CHAPTER 16 SERIAL INTERFACE (UART0)
(e) Receive errors
Three types of errors can occur during a receive operation: parity error, framing error, or overrun error. If,
as the result of data reception, an error flag is set to the asynchronous serial interface status register (ASIS0),
a receive error interrupt request (INTSER0) will occur. Receive error interrupts requests are generated before
receiving completion interrupts request (INTSR0). Table 16-4 lists the causes behind receive errors.
As part of receive error interrupt request (INTSER0) servicing, the contents of ASIS0 can be read to determine
which type of error occurred during the receive operation (see Table 16-4 and Figure 16-9).
The contents of ASIS0 are reset (to “0”) when the receive buffer register (RXB0) is read or when the next
data is received (if the next data contains an error, its error flag will be set).
Table 16-4. Causes of Receive Errors
Receive error
Cause
ASIS0 value
Parity error
Parity specified during transmission does not match parity of receive data
04H
Framing error
Stop bit was not detected
02H
Overrun error
Reception of the next data was completed before data was read from the
receive buffer register
01H
Figure 16-9. Receive Error Timing
RxD0 (input)
D0
D1
D2
D6
D7
Parity
STOP
START
INTSR0
Note
INTSER0
(When framing/overrun error occurs)
INTSER0
(When parity error occurs)
Note
If a receive error occurs when ISRM0 bit has been set (1), INTSR0 does not occur.
Cautions 1. The contents of ASIS0 are reset (to “0”) when the receive buffer register (RXB0) is read
or when the next data is received. To obtain information about the error, be sure to
read the contents of ASIS0 before reading RXB0.
2. Be sure to read the contents of the receive buffer register (RXB0) even when a receive
error has occurred. Overrun errors will occur during the next data receive operations
and the receive error status will remain until the contents of RXB0 are read.