Given you have a similar scenario and use correctly pxHigherPriorityTaskWoken
with vTaskNotifyGiveFromISR
AND the notified task is waiting for a notification AND has the highest prio, it gets scheduled as soons as the ISR is left and no other ISR is running, of course.
If there is another task with the same prio currently running (owning the CPU) there can be a latency until the next systick when the scheduler selects the other (the previously notified) task with equal prio. That’s how the preemptive scheduler works (as documented).
Since you’ve enabled the TICK and IDLE_HOOK there might be something else int the respective hook functions causing the behaviour mentioned.
1 Like