STM32F405 CAN RX interrupt halts?
Hello, everyone. I hope you're doing well.
my work at this time: https://github.com/MarginallyClever/Daisy-Driver-2.0-firmware/commit/465ec3dbeb831ee2f49fd6a6648da8fd7377a56a
My code is written in Arduino 2.2.1 with https://github.com/stm32duino/BoardManagerFiles/raw/master/package_stmicroelectronics_index.json. It is an order of magnitude faster than STM32CubeIDE.
I have an STM32F405 communicating with 4 of its sister boards via CAN 1.0. When the master node boots it calls everyone to transmit their CAN IDs to enumerate the network. I get sometimes 2, sometimes 3 frames, meaning a few have been lost. From the status lights on the other devices I know they all received and replied. I never get the CAN overflow (CAN1->RF0R & CAN_RF0R_FOVR0) bit on either mailbox.
I have also tried to write an RX interrupt. This appears to halt the board - the light turns on once and all serial updates stop. (see code below)
Do you know what I'm doing wrong with the interrupt? Can you give me a hint why I'm losing frames?
Thank you!
----------------------
