Exercice 2 - Etude de la machine à états

Dependencies:   mbed tsi_sensor

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "tsi_sensor.h"
00003 #include "lib.h"
00004 DigitalOut led1(LED1);
00005 DigitalOut led2(LED2);
00006 DigitalOut led3(LED3);
00007 int main(void)
00008 {
00009     int etat=0;
00010     float val;
00011     while (1) {
00012         val=lire_slider();
00013         printf("etat=%d -- slider=%f \n\r",etat,val);
00014         switch(etat) {
00015             case 0 :
00016                 if(val>0 && val <0.2) etat=1;
00017                 break;
00018             case 1 :
00019                 if(val>0.4 && val<0.6) etat=2;
00020                 break;
00021             case 2 :
00022                 if(val>0.8 && val<1) etat=3;
00023                 break;
00024             case 3 :
00025                 if(val==0) etat=0;
00026                 break;
00027         }
00028         switch(etat) {
00029             case 0 :
00030                 led1.write(1);
00031                 led2.write(1);
00032                 led3.write(1);
00033                 break;
00034             case 1 :
00035                 led1.write(0);
00036                 led2.write(1);
00037                 led3.write(1);
00038                 break;
00039             case 2 :
00040                 led1.write(1);
00041                 led2.write(0);
00042                 led3.write(1);
00043                 break;
00044             case 3 :
00045                 led1.write(1);
00046                 led2.write(1);
00047                 led3.write(0);
00048                 break;
00049         }
00050     }
00051 }