Best I can tell, my CAN bus is working nicely, but CANBUSNOM never becomes set. I am definitely in normal mode, and CAN frames are transferring, so obviously I am misinterpreting how this bit works. How does it work?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Best I can tell, my CAN bus is working nicely, but CANBUSNOM never becomes set. I am definitely in normal mode, and CAN frames are transferring, so obviously I am misinterpreting how this bit works. How does it work?
Hi Peter,
The CANBUSNOM bit is classified as "RU" which is both a "Read" and "Undefined" because it can change value without interaction by the user, and therefore it's value can be undefined. This bit is meant to be just a flag, and not an interrupt bit which are latched so that their value is known and are only cleared with interaction from the user through a write.
This bit may be read as a 1, but it may change to a 0 if the device detects another interrupt or bus fault condition that would cause the device to think the bus is no longer good. However the bus may in fact be good but the flag doesn't get reset to 1 because it only gets set after the first dominant-recessive transition after entering Normal mode. This is why its value may be "Undefined".
Regards,
Jonathan