YES
NO
NO
YES
YES
NO
YES NO
YES
NO
Start
Initial setting:
Set to operating mode 3
Enable serial data output
TXE = 1, TIE = 0, RXE = 0, RIE = 1
Connect LIN-UART with 8/16-bit composite
timer
Read 8/16-bit composite timer data
Adjust baud rate
Enable reception
Clear 8/16-bit composite timer interrupt
flag
Disable 8/16-bit composite timer interrupts
LBD = 1
Synch break interrupt
Receive Identify field
*
1
Disable reception
Enable 8/16-bit composite timer interrupts
Enable synch break interrupts
No error? Handle an error
*2
Data field
received?
Set transmit data 1
TDR = Data 1
Enable transmit
interrupts
Read 8/16-bit composite timer data
Clear 8/16-bit composite timer interrupt flag
TII0 interrupt
TII0 interrupt
(Reception) (Transmission)
RDRF = 1
Receive interrupt
Receive data 1
*1
Receive data N
*1
RDRF = 1
Receive interrupt
Set transmit data N
TDR = Data N
Disable transmit
interrupts
Receive data 1
*1
Read data 1
Receive data N
*1
Read data N
Disable reception
TDRE = 1
Transmit interrupt
RDRF = 1
Receive interrupt
* 1: If an error occurs, proceed to process the error.
* 2: - If the FRE or ORE flag is set to "1", write "1" to the SCR:CRE bit to clear the error flag.
- If the ESCR:LBD bit is set to "1", execute the LIN-UART reset.
Note: Deal properly with any error detected in a process.
Clear synch break detection
ESCR:LBD = 0
Disable synch break
interrupts
RDRF = 1
Receive interrupt
Sleep mode?
Wake-up
received?
Wake-up
transmitted?
Disable reception
Transmit wake-up code
RDRF = 1
Receive interrupt