ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
9 мая
1429908 Топик полностью
Nikolay_Po (25.04.2024 18:16, просмотров: 36) ответил Andrew_Q на Практически в всех проектах использую подобное. Одна (или несколько) задача является автоматом состояний, управляемым событиями. Вся логика работы автомата (режимы, состояния, эвенты, переходы, действия) описана в таблицах. Неизменяемый движек ждет события из очереди и парсит таблицы на предмет совпадения. Остальные задачи накидывают события в очередь. Все под RTOS. Принцип работы автомата здесь описан. Переписать отправку и получение события, ну под себя попилить.
У меня автомат верхнего уровня всего из четырёх-пяти состояний. По сути, режимы работы. И от этих состояний зависит, как отработают другие автоматы и в каких режимах. Ну и некоторые из автоматов нижнего уровня, могут получать команды от линий связи и менять режим. Нельзя сказать, что есть централизованное управление. Хотя, пожалуй, как управление можно выделить переключатель команд в обработчике команд, полученных со стыка с контроллером выше по системе.