ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
8 мая
1429842 Топик полностью
Andrew_Q (25.04.2024 15:07, просмотров: 110) ответил Make_Pic на Подскажите pls - Как попроще, "покрасивее" сделать такое: Есть Freertos, код из одной задачи управляет выполнением кода на уровне функций в другой задаче (назовем задачу выполнением прикладного кода, организованного как машина состояний) запуском, остановом, пошаговым выполнением функций, остановом после выполнения определенной функции?
Практически в всех проектах использую подобное. Одна (или несколько) задача является автоматом состояний, управляемым событиями. Вся логика работы автомата (режимы, состояния, эвенты, переходы, действия) описана в таблицах. Неизменяемый движек ждет события из очереди и парсит таблицы на предмет совпадения. Остальные задачи накидывают события в очередь. Все под RTOS. Принцип работы автомата здесь описан. Переписать отправку и получение события, ну под себя попилить. 

https://chipenable.ru/index.php/programming-avr/73-organizatsiya-programm-sobytiynaya-sistema-na-tablitse.html