3 of 3 people found this helpful
When the CAN_H and CAN_L is shorted, it will cause the node to enter the bus off state. When the node enters the bus off state, it triggers the BusOff interrupt if enabled in the configurator.
You can register CAN_BusOffIsr_Callback() as the callback function for busoff condition and set a variable in the callback. If the variable is set, call CAN_Start() to recover the bus. If you use the default ISR for bus off, it will call CAN_Stop() (check CAN_BusOffIsr() in CAN_INT.c ).
thanks, that worked.
However, the function CAN_GetErrorState still replies 0 = normal operation when this problem occurs.
According to the CAN component documentation, the reply should be "1x" = bus off.