Using the timer (delays and interrupts).
This program demonstrates how to use the timer routines.
These can be a bit of a pain, because you have to be sure
you lock all the memory that is used inside your interrupt
handlers. The first part of the example shows a basic use of
timing using the blocking function rest(). The second part
shows how to use three timers with different frequencies in
a non blocking way.