AnsweredAssumed Answered

Configure CAN to receive in both FIFOs

Question asked by Lukasz Przenioslo on Jun 9, 2016
Latest reply on Oct 2, 2017 by Mathias Giacomuzzi
Hello there,
I am using STM32F4. I am trying to configure can peripheral the way that when messages are received, they pass through 2 filters. If filter 0 matches they go to FIFO0, if filter 1 matches they should be stored in FIFO1. Is this possible? A for now I have a problem with can busy flag- Im am trying to turn rx interrupts to work for FIFO0 and FIFO1, like this:

HAL_CAN_Receive_IT(canHandle, 0);
HAL_CAN_Receive_IT(canHandle, 1);

The problem is that after the 1st line of code is executed, the can status is set to HAL_CAN_STATE_BUSY_RX so the second one doesnt work.

What is the proper way of making this idea work? 2 different filters, 2 different FIFO's, 1 can peripheral. I would really appreciate all help.

Outcomes