09_FreeRTOS_CAN_loopback/main.cpp
/**
 * CAN receive IRQ handler.
 * Receive messages from CAN and send them through queue to CAN receive task.
 */
CAN receive IRQ handler.
Receive messages from CAN and send them through queue to CAN receive task.
CAN receive IRQ handler . Receive messages from CAN and send them through queue to CAN receive task .
void CAN1_RX0_IRQHandler(void) {
  portBASE_TYPE higher_priority_task_woken;
  CAN_Rx_t can_rx;  
  while (CAN_Receive(&can_rx)) {
    higher_priority_task_woken = pdFALSE;
    xQueueSendFromISR(CanRxQueue, &can_rx, &higher_priority_task_woken);
    if (higher_priority_task_woken == pdTRUE) {
      taskYIELD();
    }
  }
}
void CAN1_RX0_IRQHandler ( void ) { portBASE_TYPE higher_priority_task_woken ; CAN_Rx_t can_rx ; while ( CAN_Receive ( & can_rx ) ) { higher_priority_task_woken = pdFALSE ; xQueueSendFromISR ( CanRxQueue , & can_rx , & higher_priority_task_woken ) ; if ( higher_priority_task_woken == pdTRUE ) { taskYIELD ( ) ; } } }
CAN receive IRQ handler.
CAN receive IRQ handler .
/* Received CAN message */ /* Receive CAN message from all CAN RX mailboxes */ /* Send message to CAN receive task */