CoRoutines
Coroutines kind of cheap "tasks" using cooperative multitasking.
They can be implemented with C macros in a very portable way.
They are good, if you don't need preemptive multitasking and have very little available RAM, as all of them share a single stack.
More info:
back to AVR-GCC