I used a binary semaphore to start a task.
I wanted to switch to using a task notification, because I know that they can give performance benefits and they use less RAM.
xSemaphoreGiveFromISR(binSem, &xHigherPriorityTaskWoken); in the ISR that starts the task with
I also have
portYIELD_FROM_ISR(xHigherPriorityTaskWoken); after this in the ISR.
I have also replaced the
xSemaphoreTake(binSem, (TickType_t) 100); with
if(ulTaskNotifyTake(pdTRUE, (TickType_t) 100)) inside the
for(;;) of the task.
The task executes when I use the semaphore (so the ISR isn’t the problem), but not when I use the task notification instead.
Am I missing something?