cancel
Showing results for 
Search instead for 
Did you mean: 

In 'F407, bxCAN does not go to Bus-Off

In STM32F407, I have set bxCAN with CAN_MCR.ABOM=0 and CAN_MCR.NART=0.

With the bus lines after transceiver (PHY) left open, after trying to transmit, transmitter transmits continuously forever, with CAN_ESR.LEC=0b011 for Acknowledgement Error (which is expected, as there's no other party on the bus to acknowledge), and CAN_ESR.BOFF=0.

Also, CAN_ESR.TEC appears to permanently read 0x80.

Why?

Error management subchapter in RM0090 says:

The Bus-Off state is reached when TEC is greater than 255, this state is indicated by BOFF

bit in CAN_ESR register. In Bus-Off state, the bxCAN is no longer able to transmit and

receive messages.

[...]

If ABOM is cleared, the software must initiate the recovering sequence by requesting

bxCAN to enter and to leave initialization mode.

Can somebody please comment/explain this behaviour?

Thanks,

JW

0 REPLIES 0