Programme TP3

Dependencies:   mbed info1 TSI

Committer:
Agachon
Date:
Wed Nov 10 16:51:26 2021 +0000
Revision:
6:69101b9b0c17
Parent:
3:bc04f05bdf65
Updated Exo1;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Agachon 6:69101b9b0c17 1 #define Exo1
Agachon 0:933305370dc1 2 #ifdef Exo1
Agachon 0:933305370dc1 3
Agachon 0:933305370dc1 4 #include "mbed.h"
Agachon 0:933305370dc1 5 #include "info1.h"
Agachon 0:933305370dc1 6
Agachon 0:933305370dc1 7 #define LOW 0
Agachon 0:933305370dc1 8 #define HIGH 1
Agachon 0:933305370dc1 9
Agachon 0:933305370dc1 10 //pour le debug (printf & scanf)
Agachon 0:933305370dc1 11 Serial pc(USBTX, USBRX);
Agachon 0:933305370dc1 12
Agachon 0:933305370dc1 13 int main(void)
Agachon 0:933305370dc1 14 {
Agachon 0:933305370dc1 15 //Declaration des variables :
Agachon 0:933305370dc1 16 int etat;
Agachon 0:933305370dc1 17 int bp;
Agachon 0:933305370dc1 18 PwmOut led(LED_BLUE);
Agachon 0:933305370dc1 19
Agachon 0:933305370dc1 20 //Initialisation
Agachon 0:933305370dc1 21 etat=0;
Agachon 0:933305370dc1 22 led.period_us(100);
Agachon 0:933305370dc1 23
Agachon 0:933305370dc1 24 //Boucle infinie
Agachon 0:933305370dc1 25 while (1) {
Agachon 3:bc04f05bdf65 26 //Lecture du slider (bp=1 si doigt sur slider, 0 sinon)
Agachon 3:bc04f05bdf65 27 appui_num(&bp);
Agachon 0:933305370dc1 28
Agachon 0:933305370dc1 29 //Determination de l'etat en fonction de BP
Agachon 0:933305370dc1 30 switch(etat)
Agachon 0:933305370dc1 31 {
Agachon 0:933305370dc1 32 case 0:
Agachon 0:933305370dc1 33 if (bp==HIGH)
Agachon 6:69101b9b0c17 34 {
Agachon 6:69101b9b0c17 35 etat =1;
Agachon 6:69101b9b0c17 36 }
Agachon 6:69101b9b0c17 37 break;
Agachon 0:933305370dc1 38 case 1:
Agachon 0:933305370dc1 39 if (bp==LOW)
Agachon 6:69101b9b0c17 40 {
Agachon 6:69101b9b0c17 41 etat =2;
Agachon 6:69101b9b0c17 42 }
Agachon 6:69101b9b0c17 43 break;
Agachon 0:933305370dc1 44 case 2:
Agachon 6:69101b9b0c17 45 if (bp==HIGH)
Agachon 6:69101b9b0c17 46 {
Agachon 6:69101b9b0c17 47 etat =3;
Agachon 6:69101b9b0c17 48 }
Agachon 6:69101b9b0c17 49 break;
Agachon 0:933305370dc1 50 case 3:
Agachon 6:69101b9b0c17 51 if (bp==LOW)
Agachon 6:69101b9b0c17 52 {
Agachon 6:69101b9b0c17 53 etat =0;
Agachon 6:69101b9b0c17 54 }
Agachon 6:69101b9b0c17 55 break;
Agachon 0:933305370dc1 56 }
Agachon 0:933305370dc1 57
Agachon 0:933305370dc1 58 //Ecriture sur les sorties en fct de l'etat
Agachon 0:933305370dc1 59 switch(etat)
Agachon 0:933305370dc1 60 {
Agachon 0:933305370dc1 61 case 0:
Agachon 6:69101b9b0c17 62 led=1;
Agachon 6:69101b9b0c17 63 break;
Agachon 0:933305370dc1 64 case 1:
Agachon 6:69101b9b0c17 65 led=1;
Agachon 6:69101b9b0c17 66 break;
Agachon 0:933305370dc1 67 case 2:
Agachon 6:69101b9b0c17 68 led=0;
Agachon 6:69101b9b0c17 69 break;
Agachon 0:933305370dc1 70 case 3:
Agachon 6:69101b9b0c17 71 led=0;
Agachon 6:69101b9b0c17 72 break;
Agachon 0:933305370dc1 73 }
Agachon 0:933305370dc1 74
Agachon 0:933305370dc1 75 wait_ms(10);
Agachon 0:933305370dc1 76 }
Agachon 0:933305370dc1 77 }
Agachon 0:933305370dc1 78 #endif