Julien Deschamps / Mbed 2 deprecated projetv1

Dependencies:   mbed

Committer:
jdeschamps
Date:
Mon May 04 13:37:55 2020 +0000
Revision:
4:2054aa78f3fd
Parent:
3:fb15a9d24ccf
Child:
5:0d73e455922a
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dg81 0:b5c75bc6000e 1 #include "mbed.h"
dg81 0:b5c75bc6000e 2
jdeschamps 1:8e1033a40696 3 Serial pc(USBTX, USBRX,9600); // tx, rx sur les broches associées au bus USB
dg81 0:b5c75bc6000e 4 DigitalOut led1(LED1);
jdeschamps 1:8e1033a40696 5 DigitalOut brka (PTC4);
jdeschamps 1:8e1033a40696 6 DigitalOut brkb (PTC12);
jdeschamps 1:8e1033a40696 7 DigitalOut dira (PTD3);
jdeschamps 1:8e1033a40696 8 DigitalOut dirb (PTD1);
jdeschamps 2:53d8e05db3d9 9 DigitalOut pwma (PTD2);
jdeschamps 1:8e1033a40696 10
jdeschamps 2:53d8e05db3d9 11 char pas=1;
jdeschamps 2:53d8e05db3d9 12 bool sens=0;
jdeschamps 4:2054aa78f3fd 13 bool F;
jdeschamps 2:53d8e05db3d9 14 unsigned int compteur=0;
jdeschamps 2:53d8e05db3d9 15 char message[30];
dg81 0:b5c75bc6000e 16 Ticker mon_IT; // on associe l'interface Timeout à l'objet mon_IT
dg81 0:b5c75bc6000e 17
dg81 0:b5c75bc6000e 18 void Interruption_timer() {
jdeschamps 2:53d8e05db3d9 19 if(sens==0)
jdeschamps 2:53d8e05db3d9 20 {
jdeschamps 2:53d8e05db3d9 21 pas++;
jdeschamps 2:53d8e05db3d9 22 compteur++;
jdeschamps 2:53d8e05db3d9 23 if(pas>8)pas=1;
jdeschamps 2:53d8e05db3d9 24 }
jdeschamps 2:53d8e05db3d9 25 if(sens==1)
jdeschamps 2:53d8e05db3d9 26 {
jdeschamps 2:53d8e05db3d9 27 pas--;
jdeschamps 2:53d8e05db3d9 28 compteur--;
jdeschamps 2:53d8e05db3d9 29 if(pas<1)pas=8;
jdeschamps 2:53d8e05db3d9 30 }
jdeschamps 2:53d8e05db3d9 31 if(compteur<=0){
jdeschamps 2:53d8e05db3d9 32 PWMA_ClrVal();
jdeschamps 4:2054aa78f3fd 33 F=1;
jdeschamps 2:53d8e05db3d9 34 }
jdeschamps 2:53d8e05db3d9 35 switch (pas)
jdeschamps 2:53d8e05db3d9 36 {
jdeschamps 2:53d8e05db3d9 37 case 1:
jdeschamps 2:53d8e05db3d9 38 brka=0;
jdeschamps 2:53d8e05db3d9 39 dira=1;
jdeschamps 2:53d8e05db3d9 40 brkb=1;
jdeschamps 2:53d8e05db3d9 41 dirb=0;
jdeschamps 2:53d8e05db3d9 42 break;
jdeschamps 2:53d8e05db3d9 43 case 2:
jdeschamps 2:53d8e05db3d9 44 brka=0;
jdeschamps 2:53d8e05db3d9 45 dira=1;
jdeschamps 2:53d8e05db3d9 46 brkb=0;
jdeschamps 2:53d8e05db3d9 47 dirb=1;
jdeschamps 2:53d8e05db3d9 48 break;
jdeschamps 2:53d8e05db3d9 49 case 3:
jdeschamps 2:53d8e05db3d9 50 brka=1;
jdeschamps 2:53d8e05db3d9 51 dira=0;
jdeschamps 2:53d8e05db3d9 52 brkb=0;
jdeschamps 2:53d8e05db3d9 53 dirb=1;
jdeschamps 2:53d8e05db3d9 54 break;
jdeschamps 2:53d8e05db3d9 55 case 4:
jdeschamps 2:53d8e05db3d9 56 brka=0;
jdeschamps 2:53d8e05db3d9 57 dira=0;
jdeschamps 2:53d8e05db3d9 58 brkb=0;
jdeschamps 2:53d8e05db3d9 59 dirb=1;
jdeschamps 2:53d8e05db3d9 60 break;
jdeschamps 2:53d8e05db3d9 61 case 5:
jdeschamps 2:53d8e05db3d9 62 brka=0;
jdeschamps 2:53d8e05db3d9 63 dira=0;
jdeschamps 2:53d8e05db3d9 64 brkb=1;
jdeschamps 2:53d8e05db3d9 65 dirb=0;
jdeschamps 2:53d8e05db3d9 66 break;
jdeschamps 2:53d8e05db3d9 67 case 6:
jdeschamps 2:53d8e05db3d9 68 brka=0;
jdeschamps 2:53d8e05db3d9 69 dira=0;
jdeschamps 2:53d8e05db3d9 70 brkb=0;
jdeschamps 2:53d8e05db3d9 71 dirb=0;
jdeschamps 2:53d8e05db3d9 72 break;
jdeschamps 2:53d8e05db3d9 73 case 7:
jdeschamps 2:53d8e05db3d9 74 brka=1;
jdeschamps 2:53d8e05db3d9 75 dira=0;
jdeschamps 2:53d8e05db3d9 76 brkb=0;
jdeschamps 2:53d8e05db3d9 77 dirb=0;
jdeschamps 2:53d8e05db3d9 78 break;
jdeschamps 2:53d8e05db3d9 79 case 8:
jdeschamps 2:53d8e05db3d9 80 brka=0;
jdeschamps 2:53d8e05db3d9 81 dira=1;
jdeschamps 2:53d8e05db3d9 82 brkb=0;
jdeschamps 2:53d8e05db3d9 83 dirb=0;
jdeschamps 2:53d8e05db3d9 84 break;
jdeschamps 2:53d8e05db3d9 85 default:
jdeschamps 2:53d8e05db3d9 86 break;
jdeschamps 2:53d8e05db3d9 87 }
dg81 0:b5c75bc6000e 88 }
dg81 0:b5c75bc6000e 89
dg81 0:b5c75bc6000e 90 int main(void)
dg81 0:b5c75bc6000e 91 {
dg81 0:b5c75bc6000e 92 mon_IT.attach(&Interruption_timer,0.5); // l'interruption est associée au programme Interruption_timer et s'exécute toutes les 0.5s
dg81 0:b5c75bc6000e 93 // pour stopper mon_IT.detach();
dg81 0:b5c75bc6000e 94 while(1)
jdeschamps 2:53d8e05db3d9 95 {
jdeschamps 2:53d8e05db3d9 96 for(;;){
jdeschamps 4:2054aa78f3fd 97 if (F==1)
jdeschamps 2:53d8e05db3d9 98 {
jdeschamps 4:2054aa78f3fd 99
jdeschamps 2:53d8e05db3d9 100 Term1_SendStr("Fin de course");
jdeschamps 2:53d8e05db3d9 101 Term1_CRLF();
jdeschamps 2:53d8e05db3d9 102 F=0;
jdeschamps 2:53d8e05db3d9 103 }
jdeschamps 2:53d8e05db3d9 104 if (Term1_KeyPressed()==1)
jdeschamps 2:53d8e05db3d9 105 {
jdeschamps 2:53d8e05db3d9 106 Term1_ReadLine(message);
jdeschamps 2:53d8e05db3d9 107 if(strcmp(message,"monte_v1")==0)
jdeschamps 2:53d8e05db3d9 108 {
jdeschamps 2:53d8e05db3d9 109 sens=0; // marche avant
jdeschamps 2:53d8e05db3d9 110 pwma=1;
jdeschamps 2:53d8e05db3d9 111 TI1_EnableEvent();
jdeschamps 2:53d8e05db3d9 112 }
jdeschamps 2:53d8e05db3d9 113 else if(strcmp(message,"descend_v1")==0)
jdeschamps 2:53d8e05db3d9 114 {
jdeschamps 2:53d8e05db3d9 115 sens=1; // marche arriere
jdeschamps 2:53d8e05db3d9 116 pwma=1;
jdeschamps 2:53d8e05db3d9 117 TI1_EnableEvent();
jdeschamps 2:53d8e05db3d9 118 }
jdeschamps 2:53d8e05db3d9 119 }
jdeschamps 3:fb15a9d24ccf 120 }
dg81 0:b5c75bc6000e 121 }
dg81 0:b5c75bc6000e 122
dg81 0:b5c75bc6000e 123