Julien Deschamps / Mbed 2 deprecated projetv1

Dependencies:   mbed

main.cpp

Committer:
jdeschamps
Date:
2020-05-04
Revision:
2:53d8e05db3d9
Parent:
1:8e1033a40696
Child:
3:fb15a9d24ccf

File content as of revision 2:53d8e05db3d9:

#include "mbed.h"

Serial pc(USBTX, USBRX,9600); // tx, rx sur les broches associées au bus USB
DigitalOut led1(LED1);
DigitalOut brka (PTC4);
DigitalOut brkb (PTC12);
DigitalOut dira (PTD3);
DigitalOut dirb (PTD1);
DigitalOut pwma (PTD2);

char pas=1;
bool sens=0;
unsigned int compteur=0;
char message[30];
Ticker mon_IT; // on associe l'interface Timeout à l'objet mon_IT

void Interruption_timer() {
    printf("coucou\n");
    led1=!led1;
    
    if(sens==0)
    {
        pas++;
        compteur++;
        if(pas>8)pas=1;
    }
    if(sens==1)
    {
        pas--;
        compteur--;
        if(pas<1)pas=8;
    }
    if(compteur<=0){
        PWMA_ClrVal();
    }
    switch (pas)
    {
    case 1:
    brka=0;
    dira=1;
    brkb=1;
    dirb=0;
    break;
    case 2:
    brka=0;
    dira=1;
    brkb=0;
    dirb=1;
    break;
    case 3:
    brka=1;
    dira=0;
    brkb=0;
    dirb=1;
    break;
    case 4:
    brka=0;
    dira=0;
    brkb=0;
    dirb=1;
    break;
    case 5:
    brka=0;
    dira=0;
    brkb=1;
    dirb=0;
    break;
    case 6:
    brka=0;
    dira=0;
    brkb=0;
    dirb=0;
    break;
    case 7:
    brka=1;
    dira=0;
    brkb=0;
    dirb=0;
    break;
    case 8:
    brka=0;
    dira=1;
    brkb=0;
    dirb=0;
    break;
    default:
    break;
    }
    }

int main(void)
{
    mon_IT.attach(&Interruption_timer,0.5); // l'interruption est associée au programme Interruption_timer et s'exécute toutes les 0.5s
                                            // pour stopper mon_IT.detach();
    while(1)
    { 
    for(;;){
      {
          Term1_SendStr("Fin de course");
          Term1_CRLF();
          F=0;
      }
   if (Term1_KeyPressed()==1)
   {
     Term1_ReadLine(message);
     if(strcmp(message,"monte_v1")==0)
     {
         sens=0; // marche avant
         pwma=1;
         TI1_EnableEvent();
     }
     else if(strcmp(message,"descend_v1")==0)
     {
         sens=1; // marche arriere
         pwma=1;
         TI1_EnableEvent();
         }
    }       
 }
}