Skip to main content
Visitor II
May 30, 2022
Question

Both CAN bus interrupt

  • May 30, 2022
  • 0 replies
  • 600 views

Hello,

I am using both CAN bus to transmit data with different ID, DLC 8 and it works fine.

To receive data in each CAN bus, I use interrupt for both of CAN bus as bellow and I get data only from one of the CAN bus.

void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)

{

 /* Get RX message */

 if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &CAN1_Message.RxHeader, CAN1_Message.RxData) != HAL_OK)

 {

  /* Reception Error */

  Error_Handler();

 }

 if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &CAN2_Message.RxHeader, CAN2_Message.RxData) != HAL_OK)

 {

  /* Reception Error */

  Error_Handler();

 }

}

CAN interrupt is activated for only one CAN bus.

Is my interrupt code correct?

Thank you.

    This topic has been closed for replies.