ее перезапустить из другой задачи. Как я понимаю, vTaskSuspend останавливает задачу в тот момент где эта приостановка прилетела, и по vTaskResume продолжится с того же места.
А vTaskDelete удаляет и задачу и переменные. И чтобы ее перезапустить, нужно опять xTaskCreate, и т.д.
А если задача создана статической, как будет выполняться ее удаление и пересоздание?
Стандартными средствами - нельзя. Можно удалить и запустить заново задачу. https://stackoverflow.com/questions/38013728/how-restart-task-in-freertos ^^^ Для статических задач можно типа таких албанских решений применить.
Думал над таким вариантом )) но для этого мне надо всю эту задачу переколбасить на конечные автоматы, но в таком случае можно просто из очереди принимать сигнал что нужно остановиться-перезапуститься.
Обсуждают сегодня