christophe vermaelen
/
DM2_ex2
Exercice 2 - Etude de la machine à états
main.cpp@1:d77bf371f544, 2020-12-19 (annotated)
- Committer:
- vermaelen
- Date:
- Sat Dec 19 11:44:15 2020 +0000
- Revision:
- 1:d77bf371f544
- Parent:
- 0:6608f0b5205c
...
Who changed what in which revision?
User | Revision | Line number | New 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 | } |