2025-03-05 5:25 AM
New to CAN here,
Is it possible to configure the same CAN peripheral (CAN1) on an STM32F4 to receive messages from one node in RXFIFO0 and from another node in RXFIFO1?
The reason for this setup is that one of the nodes has a higher priority and I would like to separate the messages accordingly. If this is possible, how should I configure the CAN filter settings to achieve this?
2025-03-05 6:10 AM - edited 2025-03-05 6:15 AM
Hello @GHanj and welcome to the community.
Yes you can make that separation and configure the CAN peripheral to receive a set of CAN IDs on FIFO0 and the other set of IDs on FIFO1.
This is done in the filter configuration:
The message that was accepted by this filter will be received on FIFO0:
sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
The message that was accepted by this filter will be received on FIFO1:
sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO1;
Hope that answers your question.