Корутины? Простейшая имплементация на C, protothread и Arduino
*иногда хочется уйти от управляемых будней Корутины — это функции, которые могут приостанавливать своё выполнение и возобновлять его позже, сохраняя своё состояние между вызовами. Это позволяет выполнять несколько задач одновременно без необходимости создания отдельных потоков или процессов.
https://habr.com/ru/articles/841472/
#arduino #c_language #protothreads #duff's_device #coroutines #программирование