Round robin Scheduler

Dependencies:   mbed

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