Exercice 2 - Etude de la machine à états

Dependencies:   mbed tsi_sensor

Committer:
vermaelen
Date:
Sun Oct 28 16:20:55 2018 +0000
Revision:
0:6608f0b5205c
Child:
1:d77bf371f544
DM2 Exercice 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vermaelen 0:6608f0b5205c 1 #include "mbed.h"
vermaelen 0:6608f0b5205c 2 #include "tsi_sensor.h"
vermaelen 0:6608f0b5205c 3 #include "lib.h"
vermaelen 0:6608f0b5205c 4 DigitalOut led1(LED1);
vermaelen 0:6608f0b5205c 5 DigitalOut led2(LED2);
vermaelen 0:6608f0b5205c 6 DigitalOut led3(LED3);
vermaelen 0:6608f0b5205c 7 int main(void)
vermaelen 0:6608f0b5205c 8 {
vermaelen 0:6608f0b5205c 9 int etat=0;
vermaelen 0:6608f0b5205c 10 float val;
vermaelen 0:6608f0b5205c 11 while (1) {
vermaelen 0:6608f0b5205c 12 val=lire_slider();
vermaelen 0:6608f0b5205c 13 switch(etat) {
vermaelen 0:6608f0b5205c 14 case 0 :
vermaelen 0:6608f0b5205c 15 if(val>0 && val <0.2) etat=1;
vermaelen 0:6608f0b5205c 16 break;
vermaelen 0:6608f0b5205c 17 case 1 :
vermaelen 0:6608f0b5205c 18 if(val>0.4 && val<0.6) etat=2;
vermaelen 0:6608f0b5205c 19 break;
vermaelen 0:6608f0b5205c 20 case 2 :
vermaelen 0:6608f0b5205c 21 if(val>0.8 && val<1) etat=3;
vermaelen 0:6608f0b5205c 22 break;
vermaelen 0:6608f0b5205c 23 case 3 :
vermaelen 0:6608f0b5205c 24 if(val==0) etat=0;
vermaelen 0:6608f0b5205c 25 break;
vermaelen 0:6608f0b5205c 26 }
vermaelen 0:6608f0b5205c 27 switch(etat) {
vermaelen 0:6608f0b5205c 28 case 0 :
vermaelen 0:6608f0b5205c 29 led1.write(1);
vermaelen 0:6608f0b5205c 30 led2.write(1);
vermaelen 0:6608f0b5205c 31 led3.write(1);
vermaelen 0:6608f0b5205c 32 break;
vermaelen 0:6608f0b5205c 33 case 1 :
vermaelen 0:6608f0b5205c 34 led1.write(0);
vermaelen 0:6608f0b5205c 35 led2.write(1);
vermaelen 0:6608f0b5205c 36 led3.write(1);
vermaelen 0:6608f0b5205c 37 break;
vermaelen 0:6608f0b5205c 38 case 2 :
vermaelen 0:6608f0b5205c 39 led1.write(1);
vermaelen 0:6608f0b5205c 40 led2.write(0);
vermaelen 0:6608f0b5205c 41 led3.write(1);
vermaelen 0:6608f0b5205c 42 break;
vermaelen 0:6608f0b5205c 43 case 3 :
vermaelen 0:6608f0b5205c 44 led1.write(1);
vermaelen 0:6608f0b5205c 45 led2.write(1);
vermaelen 0:6608f0b5205c 46 led3.write(0);
vermaelen 0:6608f0b5205c 47 break;
vermaelen 0:6608f0b5205c 48 }
vermaelen 0:6608f0b5205c 49 }
vermaelen 0:6608f0b5205c 50 }