Julien Deschamps / Mbed 2 deprecated projetv1

Dependencies:   mbed

Committer:
jdeschamps
Date:
Mon May 04 13:31:18 2020 +0000
Revision:
3:fb15a9d24ccf
Parent:
2:53d8e05db3d9
Child:
4:2054aa78f3fd
projetv1

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 2:53d8e05db3d9 13 unsigned int compteur=0;
jdeschamps 2:53d8e05db3d9 14 char message[30];
dg81 0:b5c75bc6000e 15 Ticker mon_IT; // on associe l'interface Timeout à l'objet mon_IT
dg81 0:b5c75bc6000e 16
dg81 0:b5c75bc6000e 17 void Interruption_timer() {
dg81 0:b5c75bc6000e 18 printf("coucou\n");
dg81 0:b5c75bc6000e 19 led1=!led1;
jdeschamps 1:8e1033a40696 20
jdeschamps 2:53d8e05db3d9 21 if(sens==0)
jdeschamps 2:53d8e05db3d9 22 {
jdeschamps 2:53d8e05db3d9 23 pas++;
jdeschamps 2:53d8e05db3d9 24 compteur++;
jdeschamps 2:53d8e05db3d9 25 if(pas>8)pas=1;
jdeschamps 2:53d8e05db3d9 26 }
jdeschamps 2:53d8e05db3d9 27 if(sens==1)
jdeschamps 2:53d8e05db3d9 28 {
jdeschamps 2:53d8e05db3d9 29 pas--;
jdeschamps 2:53d8e05db3d9 30 compteur--;
jdeschamps 2:53d8e05db3d9 31 if(pas<1)pas=8;
jdeschamps 2:53d8e05db3d9 32 }
jdeschamps 2:53d8e05db3d9 33 if(compteur<=0){
jdeschamps 2:53d8e05db3d9 34 PWMA_ClrVal();
jdeschamps 2:53d8e05db3d9 35 }
jdeschamps 2:53d8e05db3d9 36 switch (pas)
jdeschamps 2:53d8e05db3d9 37 {
jdeschamps 2:53d8e05db3d9 38 case 1:
jdeschamps 2:53d8e05db3d9 39 brka=0;
jdeschamps 2:53d8e05db3d9 40 dira=1;
jdeschamps 2:53d8e05db3d9 41 brkb=1;
jdeschamps 2:53d8e05db3d9 42 dirb=0;
jdeschamps 2:53d8e05db3d9 43 break;
jdeschamps 2:53d8e05db3d9 44 case 2:
jdeschamps 2:53d8e05db3d9 45 brka=0;
jdeschamps 2:53d8e05db3d9 46 dira=1;
jdeschamps 2:53d8e05db3d9 47 brkb=0;
jdeschamps 2:53d8e05db3d9 48 dirb=1;
jdeschamps 2:53d8e05db3d9 49 break;
jdeschamps 2:53d8e05db3d9 50 case 3:
jdeschamps 2:53d8e05db3d9 51 brka=1;
jdeschamps 2:53d8e05db3d9 52 dira=0;
jdeschamps 2:53d8e05db3d9 53 brkb=0;
jdeschamps 2:53d8e05db3d9 54 dirb=1;
jdeschamps 2:53d8e05db3d9 55 break;
jdeschamps 2:53d8e05db3d9 56 case 4:
jdeschamps 2:53d8e05db3d9 57 brka=0;
jdeschamps 2:53d8e05db3d9 58 dira=0;
jdeschamps 2:53d8e05db3d9 59 brkb=0;
jdeschamps 2:53d8e05db3d9 60 dirb=1;
jdeschamps 2:53d8e05db3d9 61 break;
jdeschamps 2:53d8e05db3d9 62 case 5:
jdeschamps 2:53d8e05db3d9 63 brka=0;
jdeschamps 2:53d8e05db3d9 64 dira=0;
jdeschamps 2:53d8e05db3d9 65 brkb=1;
jdeschamps 2:53d8e05db3d9 66 dirb=0;
jdeschamps 2:53d8e05db3d9 67 break;
jdeschamps 2:53d8e05db3d9 68 case 6:
jdeschamps 2:53d8e05db3d9 69 brka=0;
jdeschamps 2:53d8e05db3d9 70 dira=0;
jdeschamps 2:53d8e05db3d9 71 brkb=0;
jdeschamps 2:53d8e05db3d9 72 dirb=0;
jdeschamps 2:53d8e05db3d9 73 break;
jdeschamps 2:53d8e05db3d9 74 case 7:
jdeschamps 2:53d8e05db3d9 75 brka=1;
jdeschamps 2:53d8e05db3d9 76 dira=0;
jdeschamps 2:53d8e05db3d9 77 brkb=0;
jdeschamps 2:53d8e05db3d9 78 dirb=0;
jdeschamps 2:53d8e05db3d9 79 break;
jdeschamps 2:53d8e05db3d9 80 case 8:
jdeschamps 2:53d8e05db3d9 81 brka=0;
jdeschamps 2:53d8e05db3d9 82 dira=1;
jdeschamps 2:53d8e05db3d9 83 brkb=0;
jdeschamps 2:53d8e05db3d9 84 dirb=0;
jdeschamps 2:53d8e05db3d9 85 break;
jdeschamps 2:53d8e05db3d9 86 default:
jdeschamps 2:53d8e05db3d9 87 break;
jdeschamps 2:53d8e05db3d9 88 }
dg81 0:b5c75bc6000e 89 }
dg81 0:b5c75bc6000e 90
dg81 0:b5c75bc6000e 91 int main(void)
dg81 0:b5c75bc6000e 92 {
dg81 0:b5c75bc6000e 93 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 94 // pour stopper mon_IT.detach();
dg81 0:b5c75bc6000e 95 while(1)
jdeschamps 2:53d8e05db3d9 96 {
jdeschamps 2:53d8e05db3d9 97 for(;;){
jdeschamps 2:53d8e05db3d9 98 {
jdeschamps 2:53d8e05db3d9 99 Term1_SendStr("Fin de course");
jdeschamps 2:53d8e05db3d9 100 Term1_CRLF();
jdeschamps 2:53d8e05db3d9 101 F=0;
jdeschamps 2:53d8e05db3d9 102 }
jdeschamps 2:53d8e05db3d9 103 if (Term1_KeyPressed()==1)
jdeschamps 2:53d8e05db3d9 104 {
jdeschamps 2:53d8e05db3d9 105 Term1_ReadLine(message);
jdeschamps 2:53d8e05db3d9 106 if(strcmp(message,"monte_v1")==0)
jdeschamps 2:53d8e05db3d9 107 {
jdeschamps 2:53d8e05db3d9 108 sens=0; // marche avant
jdeschamps 2:53d8e05db3d9 109 pwma=1;
jdeschamps 2:53d8e05db3d9 110 TI1_EnableEvent();
jdeschamps 2:53d8e05db3d9 111 }
jdeschamps 2:53d8e05db3d9 112 else if(strcmp(message,"descend_v1")==0)
jdeschamps 2:53d8e05db3d9 113 {
jdeschamps 2:53d8e05db3d9 114 sens=1; // marche arriere
jdeschamps 2:53d8e05db3d9 115 pwma=1;
jdeschamps 2:53d8e05db3d9 116 TI1_EnableEvent();
jdeschamps 2:53d8e05db3d9 117 }
jdeschamps 2:53d8e05db3d9 118 }
jdeschamps 3:fb15a9d24ccf 119 }
dg81 0:b5c75bc6000e 120 }
dg81 0:b5c75bc6000e 121
dg81 0:b5c75bc6000e 122