Round robin Scheduler

Dependencies:   mbed

leds.c

Committer:
timexton
Date:
2010-09-09
Revision:
0:cf2d4c337b6f

File content as of revision 0:cf2d4c337b6f:

#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"