Page 1 of 1

Arduino interrupts not working correctly when CAN/TWAI bus is not connected

Posted: Wed Feb 21, 2024 5:22 pm
by nickdaria
Hey all. I started encountering a bizarre issue recently. I am using Yet Another Weigand Library to communicate with a keypad. It works fine on my ESP32S3-WROOM-1 based system. However, when a CAN frame is sent while no other devices are on the bus, it causes the Weigand interrupt timing to be off and miss bits. Reintroducing a CAN device to the bus instantly fixes the issue.

I assume this is an issue of the CAN HAL having a higher priority than the Arduino interrupts, but I would like to figure out the best way to work around this. For now, I am trying to monitor TWAI alerts and react to bus down events.

Does anyone have a similar experience?