I am now receiving CAN data through FreeRTOS implementation and printing data through Uart. The priority of the task receiving CAN data is higher than that of the task printed by the Uart. However, the vTaskDelay() function must be called to release the CPU for the task with a higher priority. However, some CAN data cannot be received during the suspended time of the task. So I'm going to use CAN to receive data, trigger interrupts, release binary semaphores in interrupt call-back functions, and get semaphores in data processing tasks.
But I don't know how interrupts are implemented?
CAN the callback function that fires first when the register receives CAN data be overwrite?
I hope you can help me!