I´ve got some “problems” with the named topic. I using a task to calculate some date which i get from an ISR. When the task is blocked with vTaskDelay it works without problems, but i want to start the task only when it get a ready state from the ISR.
This is realized with xSemaphoreGiveFromISR() and in the task with an if - request and xSemaphoreTake(). The problem is, that i can´t stop this task, when it once jumped into the task, which uses the xSemaphoreTake().
In the ISR there is also a context switch with portEND_SWITCHING_ISR() because the unblocked task has the highest priority.
The second problem is, it seems, that after starting the scheduler he goes to the blocked task and don´t stop at the “if - semaphore - request”?
Does any know this problem? I using the Version 5.2.0 of FreeRTOS