Цитата
...нужно уметь сохранять и восстанавливать контекст...
Самое простое, ИМХО, это посмотреть реализацию TinyTimber. Вообще-то Dimmix спросил
Цитата
как лучше
. Я предпочитаю кооператив а-ля Protothreads - как на AVR, так и на других МК. Считаю, что в большинстве случаев (кроме узкозаточенных решений) критичная ко времени реагирования часть кода должна быть минимизирована и умещаться в обработчиках прерываний, а остальное спокойно работать в фоне. Расход памяти при кооперативе значительно меньше, но приходится платить рулением статическими переменными и решать несколько больше вопросов синхронизации.