Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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
Generated on Sat Jun 17 2023 03:53:57 by
1.7.2