Tim Exton-McGuinness
/
round-robin-rtos
Round robin Scheduler
Diff: leds.c
- Revision:
- 0:cf2d4c337b6f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/leds.c Thu Sep 09 14:09:14 2010 +0000 @@ -0,0 +1,43 @@ +#include "globals.h" + + +extern "C" void sleep(void); + +extern "C" { + +DigitalOut myled1(LED1); +DigitalOut myled2(LED2); +DigitalOut myled3(LED3); +Timer timer; + +void leds(void) +{ + myled1 = 0; + myled2 = 0; + myled3 = 0; + + timer.start(); + + int start = timer.read_ms(); + + while (1) + { + timer.reset(); + + start = timer.read_ms(); + while ((timer.read_ms() - start) < 50) sleep(); + myled1 = !myled1; + + + start = timer.read_ms(); + while ((timer.read_ms() - start) < 50) sleep(); + myled2 = !myled2; + + + start = timer.read_ms(); + while ((timer.read_ms() - start) < 50) sleep(); + myled3 = !myled3; + } +} + +}//end of extern "C" \ No newline at end of file