benoit puissochet / Mbed 2 deprecated etape0

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 // SAE1-S2  programme de départ testant uniquement la carte micro 
00002 
00003 #include "mbed.h"  //
00004 //****************** déclarations de toutes les  broches !!***************
00005 Serial pc(SERIAL_TX, SERIAL_RX);     //  PORT SERIE vers driver usb  !! 
00006 AnalogIn   inVs(A0) ; // entrée ana pour mesurer le Vs de la  carte capteur
00007 AnalogOut  outVr(A4); // sortie ana pour la calibration du  capteur
00008 AnalogIn   P1(A1)   ; AnalogIn  P0(A3) ; // entrée  ana pour le code du capteur
00009 AnalogIn   inVp(A2) ; // entrée ana pour le potentiometre de la carte 
00010 DigitalOut plus(D1) ; // sortie logique alim du pull up interupteur  2 pins   
00011 DigitalIn  inter(D2); // entrée logique mesure inter ( 1L à vide)     
00012 DigitalOut LED(D9)  ; // sortie logique pour la LED de la carte ( 1 allume)
00013           
00014 //****variables ***********************************************************
00015 int   recpt = 0     ; // tampon d'arrivée d'un octet de la liaison série  
00016 float Vs    = 0.5   ; // variable ou lire  Vs de  0 à 1 pour 0 à 3.3V vrai
00017 float Vp    = 0.5   ; // variable pour lire Vp (potentiomètre)0 à 1 pour 0 à 3.3V
00018 float Vr = 0.3681   ; // variable de sortie Vr 0,3681 > Vk = 1.244 (20°C +-10mv)
00019 float P     = 0.1   ; // tampon de lecture des broches P0 et P1 
00020 int   out   = 0     ; // variable de sortie à serialiser en duj10
00021 int   etape = 0     ; // permet au programme de savoir ou il en est 
00022 int INP0= 0;
00023 int INP1= 0; 
00024 
00025 //******** préparation des  sous programmes 
00026 #include "sousprog.h" 
00027 #include "etape0.h" 
00028 #include "etape1.h" 
00029 
00030 void interrupt();  // obligatoire ici : pour la reception de liaison serie 
00031     
00032 int main()  // boucle principale 
00033     {
00034         // tester broche de  l'inter     ( entrée logique D2 nommée inter ou K)  
00035         /*if( inter == 1)    // test inter sur carte MicroC
00036             {  pc.putc('w');   }   
00037         if( inter == 0)    // test inter sur carte MicroC
00038             {  pc.putc('v');   }   */
00039             
00040         // mesurer  la tension analogique sur P0 
00041 
00042         
00043       
00044     init(); // prépare certianes fonctions au debut 
00045         
00046     while(1)// boucle sans fin du programme 
00047         {
00048                  P = P0.read();     // regarde la tension sur P0  pour savoir si 0 ou 1L
00049         if ( P > 0.51 ) 
00050             {pc.putc('s'); INP0 = 1;}
00051         if ( P < 0.49 ) 
00052             {pc.putc('r'); INP0 = 0;}
00053         P = P1.read();
00054         if ( P > 0.51 ) 
00055             {pc.putc('u'); INP1 = 1;}
00056         if ( P < 0.49 ) 
00057             {pc.putc('t'); INP1 = 0;}
00058          etape = inter ;
00059          if ( etape == 0 ) {  pc.putc('v');   }   
00060          if ( etape == 1 ) {  pc.putc('w');   } 
00061          
00062          if ( etape == 0 ) etape0() ; // au debut etape = 0
00063          if ( etape == 1 ){
00064          if ((INP0==1) && (INP1==1)) etape1T();  
00065          if ((INP0==0) && (INP1==1)) etape1F();  
00066          if ((INP0==1) && (INP1==0)) etape1L();
00067          if ((INP0==0) && (INP1==0)) pc.putc('h');
00068          }
00069         }
00070     }
00071     
00072  
00073