Exercice 2 - Etude de la machine à états

Dependencies:   mbed tsi_sensor

Committer:
vermaelen
Date:
Sat Dec 19 11:44:15 2020 +0000
Revision:
1:d77bf371f544
Parent:
0:6608f0b5205c
...

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 1:d77bf371f544 13 printf("etat=%d -- slider=%f \n\r",etat,val);
vermaelen 0:6608f0b5205c 14 switch(etat) {
vermaelen 0:6608f0b5205c 15 case 0 :
vermaelen 0:6608f0b5205c 16 if(val>0 && val <0.2) etat=1;
vermaelen 0:6608f0b5205c 17 break;
vermaelen 0:6608f0b5205c 18 case 1 :
vermaelen 0:6608f0b5205c 19 if(val>0.4 && val<0.6) etat=2;
vermaelen 0:6608f0b5205c 20 break;
vermaelen 0:6608f0b5205c 21 case 2 :
vermaelen 0:6608f0b5205c 22 if(val>0.8 && val<1) etat=3;
vermaelen 0:6608f0b5205c 23 break;
vermaelen 0:6608f0b5205c 24 case 3 :
vermaelen 0:6608f0b5205c 25 if(val==0) etat=0;
vermaelen 0:6608f0b5205c 26 break;
vermaelen 0:6608f0b5205c 27 }
vermaelen 0:6608f0b5205c 28 switch(etat) {
vermaelen 0:6608f0b5205c 29 case 0 :
vermaelen 0:6608f0b5205c 30 led1.write(1);
vermaelen 0:6608f0b5205c 31 led2.write(1);
vermaelen 0:6608f0b5205c 32 led3.write(1);
vermaelen 0:6608f0b5205c 33 break;
vermaelen 0:6608f0b5205c 34 case 1 :
vermaelen 0:6608f0b5205c 35 led1.write(0);
vermaelen 0:6608f0b5205c 36 led2.write(1);
vermaelen 0:6608f0b5205c 37 led3.write(1);
vermaelen 0:6608f0b5205c 38 break;
vermaelen 0:6608f0b5205c 39 case 2 :
vermaelen 0:6608f0b5205c 40 led1.write(1);
vermaelen 0:6608f0b5205c 41 led2.write(0);
vermaelen 0:6608f0b5205c 42 led3.write(1);
vermaelen 0:6608f0b5205c 43 break;
vermaelen 0:6608f0b5205c 44 case 3 :
vermaelen 0:6608f0b5205c 45 led1.write(1);
vermaelen 0:6608f0b5205c 46 led2.write(1);
vermaelen 0:6608f0b5205c 47 led3.write(0);
vermaelen 0:6608f0b5205c 48 break;
vermaelen 0:6608f0b5205c 49 }
vermaelen 0:6608f0b5205c 50 }
vermaelen 0:6608f0b5205c 51 }