Datasheet
MCP2510
DS21291E-page 46 2002 Microchip Technology Inc.
7.6 Error Interrupt
When the error interrupt is enabled (CANINTE.ERRIE
= 1) an interrupt is generated on the INT
pin if an over-
flow condition occurs or if the error state of transmitter
or receiver has changed. The Error Flag Register
(EFLG) will indicate one of the following conditions.
7.6.1 RECEIVER OVERFLOW
An overflow condition occurs when the MAB has
assembled a valid received message (the message
meets the criteria of the acceptance filters) and the
receive buffer associated with the filter is not available
for loading of a new message. The associated
EFLG.RX
NOVR bit will be set to indicate the overflow
condition. This bit must be cleared by the MCU.
7.6.2 RECEIVER WARNING
The receive error counter has reached the MCU warn-
ing limit of 96.
7.6.3 TRANSMITTER WARNING
The transmit error counter has reached the MCU warn-
ing limit of 96.
7.6.4 RECEIVER ERROR-PASSIVE
The receive error counter has exceeded the error- pas-
sive limit of 127 and the device has gone to error- pas-
sive state.
7.6.5 TRANSMITTER ERROR-PASSIVE
The transmit error counter has exceeded the error-
passive limit of 127 and the device has gone to error-
passive state.
7.6.6 BUS-OFF
The transmit error counter has exceeded 255 and the
device has gone to bus-off state.
7.7 Interrupt Acknowledge
Interrupts are directly associated with one or more sta-
tus flags in the CANINTF register. Interrupts are pend-
ing as long as one of the flags is set. Once an interrupt
flag is set by the device, the flag can not be reset by the
MCU until the interrupt condition is removed.