STM32H7A3 - FDCAN Callback not called after reconfiguration of CAN-Bus
In my project I use FDCAN1 and FDCAN2 for communication.
At startup of the system CAN1 ist used to send out messages with 500 kBit - CAN2 is used to receive data at 1 MBit and this works.
Now the user can reconfigure the CAN busses e.g. as follows:
Receive data on both CANs at 500 kBit.
After the FDCAN Busses are reconfigured to match this option, messages are only received for FDCAN2 in the callback routine.
(Of course Interrupt is enabled for FDCAN1_IT0)
I then activate FIFO0 Callbacks for all Standard IDs as follows (without filterering):
HAL_FDCAN_ConfigGlobalFilter(phCan, FDCAN_ACCEPT_IN_RX_FIFO0, FDCAN_ACCEPT_IN_RX_FIFO1, FDCAN_REJECT, FDCAN_REJECT);
HAL_FDCAN_ActivateNotification(phCan, FDCAN_IT_RX_FIFO0_NEW_MESSAGE | FDCAN_IT_RX_FIFO1_NEW_MESSAGE, 0);
-> HAL_FDCAN_RxFifo0Callback then will be called only for CAN2.
Using the debugger I saw in the FDCAN1 registers that messages are received, Fifo0 is full and messages are lost.
I added a read funtion so that also CAN1 messages are read in the callback routine (using HAL_FDCAN_GetRxMessage) and then data messages are actually available and can be read!
What might be the reason, that the callback doesn't work for CAN1 ? Any Idea?
Any help is very much appreciated!
BR GS
