Основной цикл крутиться, а доп. задачи по прерываниям (от таймеров, от изменения входного сигнала и т.д.), либо в простое проверять условия. Судя по описанию задачи жесткий реалтайм не нужен и разбег в микросекунды-миллисекунду не критичен.
Либо, если хочется чего-то интересного и познавательного, то на stm32 есть "из коробки" freeRTOS, будет у вас целая ОС со своими процессами. :) (на остальное, думаю, тоже можно найти свою RTOS) По крайней мере можете почитать принцип работы и возникнут идеи, как сделать свою многозадачность.