Scalable Controller Area Network (S12MSCANV3) 
MC9S12G Family Reference Manual Rev.1.27
620 NXP Semiconductors
18.4.7.3 Receive Interrupt
A message is successfully received and shifted into the foreground buffer (RxFG) of the receiver FIFO. 
This interrupt is generated immediately after receiving the EOF symbol. The RXF flag is set. If there are 
multiple messages in the receiver FIFO, the RXF flag is set as soon as the next message is shifted to the 
foreground buffer.
18.4.7.4 Wake-Up Interrupt
A wake-up interrupt is generated if activity on the CAN bus occurs during MSCAN sleep or power-down 
mode.
NOTE
This interrupt can only occur if the MSCAN was in sleep mode (SLPRQ = 1 
and SLPAK = 1) before entering power down mode, the wake-up option is 
enabled (WUPE = 1), and the wake-up interrupt is enabled (WUPIE = 1).
18.4.7.5 Error Interrupt
An error interrupt is generated if an overrun of the receiver FIFO, error, warning, or bus-off condition 
occurrs. MSCAN Receiver Flag Register (CANRFLG) indicates one of the following conditions:
• Overrun — An overrun condition of the receiver FIFO as described in Section 18.4.2.3, “Receive 
Structures,” occurred.
• CAN Status Change — The actual value of the transmit and receive error counters control the 
CAN bus state of the MSCAN. As soon as the error counters skip into a critical range 
(Tx/Rx-warning, Tx/Rx-error, bus-off) the MSCAN flags an error condition. The status change, 
which caused the error condition, is indicated by the TSTAT and RSTAT flags (see 
Section 18.3.2.5, “MSCAN Receiver Flag Register (CANRFLG)” and Section 18.3.2.6, “MSCAN 
Receiver Interrupt Enable Register (CANRIER)”).
18.4.7.6 Interrupt Acknowledge
Interrupts are directly associated with one or more status flags in either the MSCAN Receiver Flag 
Register (CANRFLG) or the MSCAN Transmitter Flag Register (CANTFLG). Interrupts are pending as 
long as one of the corresponding flags is set. The flags in CANRFLG and CANTFLG must be reset within 
the interrupt handler to handshake the interrupt. The flags are reset by writing a 1 to the corresponding bit 
position. A flag cannot be cleared if the respective condition prevails.
NOTE
It must be guaranteed that the CPU clears only the bit causing the current 
interrupt. For this reason, bit manipulation instructions (BSET) must not be 
used to clear interrupt flags. These instructions may cause accidental 
clearing of interrupt flags which are set after entering the current interrupt 
service routine.