benoit puissochet / Mbed 2 deprecated etape0

Dependencies:   mbed

main.cpp

Committer:
benpuiss
Date:
2022-05-23
Revision:
0:4f6abed7fb04

File content as of revision 0:4f6abed7fb04:

// SAE1-S2  programme de départ testant uniquement la carte micro 

#include "mbed.h"  //
//****************** déclarations de toutes les  broches !!***************
Serial pc(SERIAL_TX, SERIAL_RX);     //  PORT SERIE vers driver usb  !! 
AnalogIn   inVs(A0) ; // entrée ana pour mesurer le Vs de la  carte capteur
AnalogOut  outVr(A4); // sortie ana pour la calibration du  capteur
AnalogIn   P1(A1)   ; AnalogIn  P0(A3) ; // entrée  ana pour le code du capteur
AnalogIn   inVp(A2) ; // entrée ana pour le potentiometre de la carte 
DigitalOut plus(D1) ; // sortie logique alim du pull up interupteur  2 pins   
DigitalIn  inter(D2); // entrée logique mesure inter ( 1L à vide)     
DigitalOut LED(D9)  ; // sortie logique pour la LED de la carte ( 1 allume)
          
//****variables ***********************************************************
int   recpt = 0     ; // tampon d'arrivée d'un octet de la liaison série  
float Vs    = 0.5   ; // variable ou lire  Vs de  0 à 1 pour 0 à 3.3V vrai
float Vp    = 0.5   ; // variable pour lire Vp (potentiomètre)0 à 1 pour 0 à 3.3V
float Vr = 0.3681   ; // variable de sortie Vr 0,3681 > Vk = 1.244 (20°C +-10mv)
float P     = 0.1   ; // tampon de lecture des broches P0 et P1 
int   out   = 0     ; // variable de sortie à serialiser en duj10
int   etape = 0     ; // permet au programme de savoir ou il en est 
int INP0= 0;
int INP1= 0; 

//******** préparation des  sous programmes 
#include "sousprog.h" 
#include "etape0.h" 
#include "etape1.h" 

void interrupt();  // obligatoire ici : pour la reception de liaison serie 
    
int main()  // boucle principale 
    {
        // tester broche de  l'inter     ( entrée logique D2 nommée inter ou K)  
        /*if( inter == 1)    // test inter sur carte MicroC
            {  pc.putc('w');   }   
        if( inter == 0)    // test inter sur carte MicroC
            {  pc.putc('v');   }   */
            
        // mesurer  la tension analogique sur P0 

        
      
    init(); // prépare certianes fonctions au debut 
        
    while(1)// boucle sans fin du programme 
        {
                 P = P0.read();     // regarde la tension sur P0  pour savoir si 0 ou 1L
        if ( P > 0.51 ) 
            {pc.putc('s'); INP0 = 1;}
        if ( P < 0.49 ) 
            {pc.putc('r'); INP0 = 0;}
        P = P1.read();
        if ( P > 0.51 ) 
            {pc.putc('u'); INP1 = 1;}
        if ( P < 0.49 ) 
            {pc.putc('t'); INP1 = 0;}
         etape = inter ;
         if ( etape == 0 ) {  pc.putc('v');   }   
         if ( etape == 1 ) {  pc.putc('w');   } 
         
         if ( etape == 0 ) etape0() ; // au debut etape = 0
         if ( etape == 1 ){
         if ((INP0==1) && (INP1==1)) etape1T();  
         if ((INP0==0) && (INP1==1)) etape1F();  
         if ((INP0==1) && (INP1==0)) etape1L();
         if ((INP0==0) && (INP1==0)) pc.putc('h');
         }
        }
    }