Chapter 1


The AVR Threads Library provides basic preemptive multi-threading to the Atmel AVR family of microcontrollers. It is written mostly in C with some assembly language. It implements a simple round-robin style task switcher.

This library provides basic thread start and stop functions, a couple of flavors of mutual exclusion semaphore, and events to help synchronize threads.

I have released this code under the GNU Lesser General Public License with the hope that others might find it useful.