Hello,I am using R7F7016894AFP-C mcu with CAN FD.
Also, the CAN RXD pin is connected to pin 63 (P10_6) and the CAN TXD is connected to pin *** (P10_7).
And we matched the CAN global error interrupt handler function to eiint22 of INT_Vectors[].
What I would like to inquire is under what circumstances does CAN global error interrupt (eiint22) occur in the mcu?
Exactly under what circumstances does the MCU determine to generate an error interrupt?
When which flag in the RCFDCnCFDCmERFL register is set, an interrupt occurs?
Or, could the CAN error interrupt occur for other reasons that are not listed in the RCFDCnCFDCmERFL register?
And if possible, I would appreciate it if you could tell me what action to take within the CAN error interrupt handler.
Thank you.
Global error interrupt is triggered by any of the assigned bits in the RCFDCnCFDCmERFL register. Action to be taken would depend on the error type, e.g. a 2-bit ECC error should probably be addressed by running the self-test on the failing channel's RAM. Overflow or DLC errors can likely be logged and then cleared, depending on the project's requirements for error logging.
Thank you very much for your answer.But are all the flags in the RCFDCnCFDCmERFL register applicable?
For example, I think BORF (Bus Off Recovery Flag) is not an error.
Can you tell me more specifically which flags in the RCFDCnCFDCmERFL register correspond to the judgment conditions for the CAN error interrupt and how to handle each flag?
I don't see a BORF flag in this register, all of the assigned bits appear to be valid error sources.