При программировании приложений для встраиваемых систем удобно пользоваться конечными автоматами.
Они дают ряд преимуществ:
- Вы можете перевести требования системы в диаграмму состояний или в таблицу состояний переходов.
- По диаграмме состояний или таблице состояний переходов вы можете проверить правильность проекта до написания программы.
- Это облегчает понимание кода.
- Вы можете быстро сопоставлять друг с другом код и требования к системе.
- Обеспечивается детерминизм, то есть вы сможете точно знать, что делает система в определенный момент.
При использовании автоматного подхода важно грамотно организовать конечный автомат у себя в коде. Поэтому ниже приводится шаблон конечного автомата, написанный на языке C. Он не сложен и позволяет понять принцип работы конечных автоматов. Овладев этим инструментом, его в последствии можно будет масштабировать на более сложные программные архитектуры.