
TP
exercice3.cpp@0:2de5803e5d23, 2016-05-02 (annotated)
- Committer:
- jomfec
- Date:
- Mon May 02 09:08:25 2016 +0000
- Revision:
- 0:2de5803e5d23
TP
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jomfec | 0:2de5803e5d23 | 1 | #include "mbed.h" |
jomfec | 0:2de5803e5d23 | 2 | #include "math.h" |
jomfec | 0:2de5803e5d23 | 3 | |
jomfec | 0:2de5803e5d23 | 4 | #define T1 7 |
jomfec | 0:2de5803e5d23 | 5 | #define T2 1 |
jomfec | 0:2de5803e5d23 | 6 | #define T3 0 |
jomfec | 0:2de5803e5d23 | 7 | #define T4 6 |
jomfec | 0:2de5803e5d23 | 8 | |
jomfec | 0:2de5803e5d23 | 9 | |
jomfec | 0:2de5803e5d23 | 10 | BusIn clavier(p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22); |
jomfec | 0:2de5803e5d23 | 11 | int lire_clavier(); |
jomfec | 0:2de5803e5d23 | 12 | |
jomfec | 0:2de5803e5d23 | 13 | int main() |
jomfec | 0:2de5803e5d23 | 14 | { |
jomfec | 0:2de5803e5d23 | 15 | |
jomfec | 0:2de5803e5d23 | 16 | int n0,n; |
jomfec | 0:2de5803e5d23 | 17 | int etat=0; |
jomfec | 0:2de5803e5d23 | 18 | clavier.mode(PullDown); |
jomfec | 0:2de5803e5d23 | 19 | while(1) |
jomfec | 0:2de5803e5d23 | 20 | |
jomfec | 0:2de5803e5d23 | 21 | { |
jomfec | 0:2de5803e5d23 | 22 | n0=n |
jomfec | 0:2de5803e5d23 | 23 | n=lire_clavier(); |
jomfec | 0:2de5803e5d23 | 24 | |
jomfec | 0:2de5803e5d23 | 25 | switch(etat) |
jomfec | 0:2de5803e5d23 | 26 | { |
jomfec | 0:2de5803e5d23 | 27 | case 0: if(n0==-3 && n==T1) etat=1; |
jomfec | 0:2de5803e5d23 | 28 | if(n0==-3 && n!=T1 && n!==-3) etat=5; break; |
jomfec | 0:2de5803e5d23 | 29 | |
jomfec | 0:2de5803e5d23 | 30 | case 1: if(n0==-3 && n==T2) etat=2; |
jomfec | 0:2de5803e5d23 | 31 | if(n0==-3 && n!=T2 && n!==-3) etat=5; break; |
jomfec | 0:2de5803e5d23 | 32 | |
jomfec | 0:2de5803e5d23 | 33 | case 2: if(n0==-3 && n==T3) etat=3; |
jomfec | 0:2de5803e5d23 | 34 | if(n0==-3 && n!=T3 && n!==-3) etat=5; break; |
jomfec | 0:2de5803e5d23 | 35 | |
jomfec | 0:2de5803e5d23 | 36 | case 3: if(n0==-3 && n==T4) etat=4; |
jomfec | 0:2de5803e5d23 | 37 | if(n0==-3 && n!=T4 && n!==-3) etat=5; break; |
jomfec | 0:2de5803e5d23 | 38 | |
jomfec | 0:2de5803e5d23 | 39 | case 4: etat=0; break; |
jomfec | 0:2de5803e5d23 | 40 | |
jomfec | 0:2de5803e5d23 | 41 | case 5: etat=0; break; |
jomfec | 0:2de5803e5d23 | 42 | |
jomfec | 0:2de5803e5d23 | 43 | } |
jomfec | 0:2de5803e5d23 | 44 | |
jomfec | 0:2de5803e5d23 | 45 | switch(etat) |
jomfec | 0:2de5803e5d23 | 46 | |
jomfec | 0:2de5803e5d23 | 47 | { |
jomfec | 0:2de5803e5d23 | 48 | |
jomfec | 0:2de5803e5d23 | 49 | case 0: printf("LED VERDE ALLUMEE") ; break; |
jomfec | 0:2de5803e5d23 | 50 | |
jomfec | 0:2de5803e5d23 | 51 | case 1: printf("ETEINTE") ; break; |
jomfec | 0:2de5803e5d23 | 52 | |
jomfec | 0:2de5803e5d23 | 53 | case 2: printf("ETEINTE") ; break; |
jomfec | 0:2de5803e5d23 | 54 | |
jomfec | 0:2de5803e5d23 | 55 | case 3: printf("ETEINTE") ; break; |
jomfec | 0:2de5803e5d23 | 56 | |
jomfec | 0:2de5803e5d23 | 57 | case 4: printf("LED ROUGE ALLUMEE"); wait(5) ; break; |
jomfec | 0:2de5803e5d23 | 58 | |
jomfec | 0:2de5803e5d23 | 59 | case 5: printf("ERREUR")wait(1) ; break; |
jomfec | 0:2de5803e5d23 | 60 | |
jomfec | 0:2de5803e5d23 | 61 | } |
jomfec | 0:2de5803e5d23 | 62 | } |
jomfec | 0:2de5803e5d23 | 63 | |
jomfec | 0:2de5803e5d23 | 64 | |
jomfec | 0:2de5803e5d23 | 65 | |
jomfec | 0:2de5803e5d23 | 66 | |
jomfec | 0:2de5803e5d23 | 67 | int lire_clavier() |
jomfec | 0:2de5803e5d23 | 68 | { |
jomfec | 0:2de5803e5d23 | 69 | int i,n; |
jomfec | 0:2de5803e5d23 | 70 | i=clavier.read(); |
jomfec | 0:2de5803e5d23 | 71 | |
jomfec | 0:2de5803e5d23 | 72 | if(i==1) n=1; |
jomfec | 0:2de5803e5d23 | 73 | else if(i==2) n=2; |
jomfec | 0:2de5803e5d23 | 74 | else if(i==4) n=3; |
jomfec | 0:2de5803e5d23 | 75 | else if(i==8) n=4; |
jomfec | 0:2de5803e5d23 | 76 | else if(i==16) n=5; |
jomfec | 0:2de5803e5d23 | 77 | else if(i==32) n=6; |
jomfec | 0:2de5803e5d23 | 78 | else if(i==64) n=7; |
jomfec | 0:2de5803e5d23 | 79 | else if(i==128) n=8; |
jomfec | 0:2de5803e5d23 | 80 | else if(i==256) n=9; |
jomfec | 0:2de5803e5d23 | 81 | else if(i==512) n=0; |
jomfec | 0:2de5803e5d23 | 82 | else if(i==1024) n=-1; |
jomfec | 0:2de5803e5d23 | 83 | else if(i==2048) n=-2; |
jomfec | 0:2de5803e5d23 | 84 | else n=-3; |
jomfec | 0:2de5803e5d23 | 85 | |
jomfec | 0:2de5803e5d23 | 86 | return(n); |
jomfec | 0:2de5803e5d23 | 87 | } |