Я использую FreeRTOS и хочу приостановить текущую запущенную задачу, если какое-либо условие вызвано другой задачей, и продолжить текущую задачу только после завершения внешней запускаемой задачи.
Псевдокод (ничего не объясняется, кромедля справки):
Текущая задача -:
task_a()
{
while (1)
{
if (condition satisfied)
{
execute code
}
vTaskDelay (sometime);
}
}
Другая задача
Event occurred
pause task_a
execute something
resume task_a
Я думаю xEventGroupWaitBits или уведомление о задаче должен работать, но я не уверен, какой из них использовать, и псевдокод для того же, пожалуйста, дайте мне знать, как это реализовать?