TP3_exo3

Dependencies:   mbed

Committer:
mbedo
Date:
Thu Oct 23 12:16:33 2014 +0000
Revision:
0:9db024f2b030
TP3_exo3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbedo 0:9db024f2b030 1 #include "mbed.h"
mbedo 0:9db024f2b030 2 Ticker flipper;
mbedo 0:9db024f2b030 3 DigitalOut myled(LED1); // On initialise nos 4 LEDs en sortie (DigitalOut)
mbedo 0:9db024f2b030 4 DigitalOut myled2(LED2);
mbedo 0:9db024f2b030 5 DigitalOut myled3(LED3);
mbedo 0:9db024f2b030 6 DigitalOut myled4(LED4);
mbedo 0:9db024f2b030 7 void fonction_led1(); // Nous allons créer 6 fonctions pour effectuer notre chenillard
mbedo 0:9db024f2b030 8 void fonction_led2();
mbedo 0:9db024f2b030 9 void fonction_led3(); // Notre but est de créer une boucle
mbedo 0:9db024f2b030 10 void fonction_led4();
mbedo 0:9db024f2b030 11 void fonction_led3pr();
mbedo 0:9db024f2b030 12 void fonction_led2pr();
mbedo 0:9db024f2b030 13
mbedo 0:9db024f2b030 14 void fonction_led1() // Pour ce faire, la première fonction va allumer la LED1 et éteint la LED2
mbedo 0:9db024f2b030 15 { myled2=0;
mbedo 0:9db024f2b030 16 myled=!myled;
mbedo 0:9db024f2b030 17 flipper.attach(&fonction_led2, 0.2); } // De plus au bout de 0.2s elle appele la fonction_led2
mbedo 0:9db024f2b030 18
mbedo 0:9db024f2b030 19 void fonction_led2() // La fonction LED2 va à son tour allumer la LED2 en éteignant la LED1 et va appeler la fonction_led3
mbedo 0:9db024f2b030 20 { myled=0;
mbedo 0:9db024f2b030 21 myled2=!myled2;
mbedo 0:9db024f2b030 22 flipper.attach(&fonction_led3, 0.2); }
mbedo 0:9db024f2b030 23 void fonction_led3() // LED3 s'allume, au même moment la LED précedente (LED2) s'éteint
mbedo 0:9db024f2b030 24 { myled2=0;
mbedo 0:9db024f2b030 25 myled3=!myled3;
mbedo 0:9db024f2b030 26 flipper.attach(&fonction_led4, 0.2);} // La fonction LED4 est appelée
mbedo 0:9db024f2b030 27
mbedo 0:9db024f2b030 28 void fonction_led4()
mbedo 0:9db024f2b030 29 { myled3=0; // La LED4 s'allume pendant que la LED3 s'éteint, puis la fonction led3 prime est appelée
mbedo 0:9db024f2b030 30 myled4=!myled4;
mbedo 0:9db024f2b030 31 flipper.attach(&fonction_led3pr, 0.2);}
mbedo 0:9db024f2b030 32
mbedo 0:9db024f2b030 33 void fonction_led3pr()
mbedo 0:9db024f2b030 34 { myled4=0; // Les 2 dernière fonction sont consacrées au retour de notre chenillard, la LED3 s'allume en éteignat la LED4
mbedo 0:9db024f2b030 35 myled3=!myled3;
mbedo 0:9db024f2b030 36 flipper.attach(&fonction_led2pr, 0.2);} // Puis la fonction_led2 prime est appelée
mbedo 0:9db024f2b030 37
mbedo 0:9db024f2b030 38 void fonction_led2pr()
mbedo 0:9db024f2b030 39 { myled3=0; //La fonction Led2 prime va allumer la LED2 et éteindre la LED3, puis va appeler la fonction LED1
mbedo 0:9db024f2b030 40 myled2=!myled2;
mbedo 0:9db024f2b030 41 flipper.attach(&fonction_led1, 0.2);} // Notre chenillard est donc bouclé, le programme fonctionne.
mbedo 0:9db024f2b030 42
mbedo 0:9db024f2b030 43 int main()
mbedo 0:9db024f2b030 44 { flipper.attach(&fonction_led1, 0.2); // Dans le programme principale nous devons lui demander d'executer une première fois, au début,
mbedo 0:9db024f2b030 45 while(1) {}} // la fonction_led1 afin que la boucle commence.
mbedo 0:9db024f2b030 46
mbedo 0:9db024f2b030 47
mbedo 0:9db024f2b030 48
mbedo 0:9db024f2b030 49
mbedo 0:9db024f2b030 50
mbedo 0:9db024f2b030 51
mbedo 0:9db024f2b030 52
mbedo 0:9db024f2b030 53
mbedo 0:9db024f2b030 54
mbedo 0:9db024f2b030 55