I am using a 9S12XEQ384 and a 9s12DG256 with the same code for CAN initialisation at 500K baud and processing interrupts. Both processors do the same as far as CAN retry.
The problem I want to solve is that sometimes I can upset the bus and it will retry a transmission about 150us after the last failure to send. This never gives the bus any chance to send any other messages. It never goes buss off. From what I understand it should leave the bus alone for around 2.8ms.
I am trying to abort the CAN messages I have pending, but I don't think my processor should take over the bus.
Is there something in my initialisation that may cause this. Is there an auto off bus recovery I am missing?
I can see the transmit and receive error counters go up to about 130 to 135 when the above happens. Should it not get to 254 and go bus off?