TP3_exo3

Dependencies:   mbed

Ticker_Chenillard.cpp

Committer:
mbedo
Date:
2014-10-23
Revision:
0:9db024f2b030

File content as of revision 0:9db024f2b030:

#include "mbed.h"
Ticker flipper;
DigitalOut myled(LED1); // On initialise nos 4 LEDs en sortie (DigitalOut)
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
DigitalOut myled4(LED4);
void fonction_led1();       // Nous allons créer 6 fonctions pour effectuer notre chenillard
void fonction_led2();
void fonction_led3();       // Notre but est de créer une boucle
void fonction_led4();
void fonction_led3pr();
void fonction_led2pr();

void fonction_led1()        // Pour ce faire, la première fonction va allumer la LED1 et éteint la LED2
{   myled2=0;
    myled=!myled;
    flipper.attach(&fonction_led2, 0.2); }      // De plus au bout de 0.2s elle appele la fonction_led2

void fonction_led2()            // La fonction LED2 va à son tour allumer la LED2 en éteignant la LED1 et va appeler la fonction_led3
{   myled=0;
    myled2=!myled2;
    flipper.attach(&fonction_led3, 0.2); }
void fonction_led3()        // LED3 s'allume, au même moment la LED précedente (LED2) s'éteint
{   myled2=0;
    myled3=!myled3;
    flipper.attach(&fonction_led4, 0.2);}       // La fonction LED4 est appelée

void fonction_led4()
{   myled3=0;           // La LED4 s'allume pendant que la LED3 s'éteint, puis la fonction led3 prime est appelée
    myled4=!myled4;
    flipper.attach(&fonction_led3pr, 0.2);}

void fonction_led3pr()
{   myled4=0;       // Les 2 dernière fonction sont consacrées au retour de notre chenillard, la LED3 s'allume en éteignat la LED4
    myled3=!myled3;
    flipper.attach(&fonction_led2pr, 0.2);} // Puis la fonction_led2 prime est appelée

void fonction_led2pr()
{   myled3=0;            //La fonction Led2 prime va allumer la LED2 et éteindre la LED3, puis va appeler la fonction LED1
    myled2=!myled2;
    flipper.attach(&fonction_led1, 0.2);}       // Notre chenillard est donc bouclé, le programme fonctionne.

int main()
{   flipper.attach(&fonction_led1, 0.2);    // Dans le programme principale nous devons lui demander d'executer une première fois, au début,
    while(1) {}}                            // la fonction_led1 afin que la boucle commence.