Skip to main content
JChri.7
Visitor II
July 6, 2022
Question

CAN1_RX0 interrupt not firing

  • July 6, 2022
  • 1 reply
  • 595 views

I've been working on getting the STM32f7-EVAL operational to later on migrate it to STM32F767II. For this we decided to split up functionality into 3 sections, there is a forward facing application that has the main and specific business logic.

 

Currently the main issue is that the CAN bus transmit (polling) is working flawlessly yet the receive (interrupt) seems to be non-functional. RF0R.FMP0 remains at 0x0, while FMPIE0 is set (1). it seems as if CAN_RF0R is disabled for some reason. Even though CAN_RX0_IRQn is enabled.

  /* CAN1 interrupt Init */

  HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 0, 0);

  HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn);

also the notification is enabled:

HAL_CAN_ActivateNotification(&canDef, CAN_IT_RX_FIFO0_MSG_PENDING); 

after the NVIC and CAN are initialized.

void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)

is the callback that i'm using.

I also verified using messages coming into the MCU by scope and logic analyser. There is an additional device attached to the CAN bus that transmit a incrementing counter at 15hz.

 

Placing a break point inside of the startup file is never triggered.

 

This topic has been closed for replies.

1 reply

mƎALLEm
ST Technical Moderator
September 23, 2026

Hello,

I suspect either you didn’t enable the filters or you didn’t set them correctly.

I invite you to refer to these knowledge base articles:

Hope that helps you as well as others ..

 

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