Полный текст

Хакаем корутины в CКонечные автоматы — распространённая архитектура во встраиваемых системах без ОС. Они прекрасно работают, но их понимание и обслуживание часто вызывают головную боль из-за отсутствия линейного потока и необходимости мысленно жонглировать флагами и состояниями.Разберём, как уйти от этой сложности и написать логику в виде последовательной программы, которая может ожидать события и возобновлять выполнение с места остановки — и всё это без применения RTOS и традиционных потоков. Выясним, где находится та самая золотая середина между state-машинами и полноценной многозадачностью.