cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F412ZETx - CAN2 RX FIFO1 Interrupt Not Triggering (Tx Working)

PR.Atom
Associate

I'm working with an STM32F412ZETx microcontroller and encountering an issue with the CAN2 peripheral. The transmit (Tx) functionality is working correctly, but the receive (Rx) interrupt via FIFO1 is not triggering at all.

 

CAN2 transmit works fine. I can see messages on the bus. same setup with CAN1 (Rx FIFO0) works fine.

Is there anything specific I need to configure for CAN2 RX interrupts on STM32F412?

Could the filter bank or SlaveStartFilterBank setting be causing this?

Are there known limitations with CAN2 and FIFO1 on this device?

3 REPLIES 3
Karl Yamashita
Principal

Did you enable the NVIC?

Don't worry, I won't byte.
TimerCallback tutorial! | UART and DMA Idle tutorial!

If you find my solution useful, please click the Accept as Solution so others see the solution.
mƎALLEm
ST Employee

Hello,

You have an issue with the filter bank configuration:

  sFilterConfig.FilterBank = 0;
  sFilterConfig.SlaveStartFilterBank = 14;

 FilterBank should be >= SlaveStartFilterBank.

Refer to this article: STM32 in dual CAN configuration: bxCAN Filter bank explanation and relation with CAN2 Start Bank parameter

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

@mƎALLEm wrote:

Hello,

You have an issue with the filter bank configuration:

  sFilterConfig.FilterBank = 0;
  sFilterConfig.SlaveStartFilterBank = 14;

 FilterBank should be >= SlaveStartFilterBank.

Refer to this article: STM32 in dual CAN configuration: bxCAN Filter bank explanation and relation with CAN2 Start Bank parameter


Sorry what I saw is the code related to CAN1.

As said by @Karl Yamashita you need to check if you enabled CAN2 NVIC Rx for FIFO1

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.