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@0:dbd6ea244e7e, 2022-05-19 (annotated)
- Committer:
- enesyi
- Date:
- Thu May 19 13:06:08 2022 +0000
- Revision:
- 0:dbd6ea244e7e
hello my name is djibril;
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| enesyi | 0:dbd6ea244e7e | 1 | // SAE1-S2 programme de départ testant uniquement la carte micro | 
| enesyi | 0:dbd6ea244e7e | 2 | |
| enesyi | 0:dbd6ea244e7e | 3 | #include "mbed.h" // | 
| enesyi | 0:dbd6ea244e7e | 4 | //****************** déclarations de toutes les broches !!*************** | 
| enesyi | 0:dbd6ea244e7e | 5 | Serial pc(SERIAL_TX, SERIAL_RX); // PORT SERIE vers driver usb !! | 
| enesyi | 0:dbd6ea244e7e | 6 | AnalogIn inVs(A0) ; // entrée ana pour mesurer le Vs de la carte capteur | 
| enesyi | 0:dbd6ea244e7e | 7 | AnalogOut outVr(A4); // sortie ana pour la calibration du capteur | 
| enesyi | 0:dbd6ea244e7e | 8 | AnalogIn P1(A1) ; AnalogIn P0(A3) ; // entrée ana pour le code du capteur | 
| enesyi | 0:dbd6ea244e7e | 9 | AnalogIn inVp(A2) ; // entrée ana pour le potentiometre de la carte | 
| enesyi | 0:dbd6ea244e7e | 10 | DigitalOut plus(D1) ; // sortie logique alim du pull up interupteur 2 pins | 
| enesyi | 0:dbd6ea244e7e | 11 | DigitalIn inter(D2); // entrée logique mesure inter ( 1L à vide) | 
| enesyi | 0:dbd6ea244e7e | 12 | DigitalOut LED(D9) ; // sortie logique pour la LED de la carte ( 1 allume) | 
| enesyi | 0:dbd6ea244e7e | 13 | |
| enesyi | 0:dbd6ea244e7e | 14 | //****variables *********************************************************** | 
| enesyi | 0:dbd6ea244e7e | 15 | int recpt = 0 ; // tampon d'arrivée d'un octet de la liaison série | 
| enesyi | 0:dbd6ea244e7e | 16 | float Vs = 0.5 ; // variable ou lire Vs de 0 à 1 pour 0 à 3.3V vrai | 
| enesyi | 0:dbd6ea244e7e | 17 | float Vp = 0.5 ; // variable pour lire Vp (potentiomètre)0 à 1 pour 0 à 3.3V | 
| enesyi | 0:dbd6ea244e7e | 18 | float Vr = 0.3681 ; // variable de sortie Vr 0,3681 > Vk = 1.244 (20°C +-10mv) | 
| enesyi | 0:dbd6ea244e7e | 19 | float P = 0.1 ; // tampon de lecture des broches P0 et P1 | 
| enesyi | 0:dbd6ea244e7e | 20 | int out = 0 ; // variable de sortie à serialiser en duj10 | 
| enesyi | 0:dbd6ea244e7e | 21 | int etape = 0 ; // permet au programme de savoir ou il en est | 
| enesyi | 0:dbd6ea244e7e | 22 | int INP0= 0; | 
| enesyi | 0:dbd6ea244e7e | 23 | int INP1= 0; | 
| enesyi | 0:dbd6ea244e7e | 24 | |
| enesyi | 0:dbd6ea244e7e | 25 | //******** préparation des sous programmes | 
| enesyi | 0:dbd6ea244e7e | 26 | #include "sousprog.h" | 
| enesyi | 0:dbd6ea244e7e | 27 | #include "etape0.h" | 
| enesyi | 0:dbd6ea244e7e | 28 | #include "etape1.h" | 
| enesyi | 0:dbd6ea244e7e | 29 | |
| enesyi | 0:dbd6ea244e7e | 30 | void interrupt(); // obligatoire ici : pour la reception de liaison serie | 
| enesyi | 0:dbd6ea244e7e | 31 | |
| enesyi | 0:dbd6ea244e7e | 32 | int main() // boucle principale | 
| enesyi | 0:dbd6ea244e7e | 33 | { | 
| enesyi | 0:dbd6ea244e7e | 34 | // tester broche de l'inter ( entrée logique D2 nommée inter ou K) | 
| enesyi | 0:dbd6ea244e7e | 35 | /*if( inter == 1) // test inter sur carte MicroC | 
| enesyi | 0:dbd6ea244e7e | 36 | { pc.putc('w'); } | 
| enesyi | 0:dbd6ea244e7e | 37 | if( inter == 0) // test inter sur carte MicroC | 
| enesyi | 0:dbd6ea244e7e | 38 | { pc.putc('v'); } */ | 
| enesyi | 0:dbd6ea244e7e | 39 | |
| enesyi | 0:dbd6ea244e7e | 40 | // mesurer la tension analogique sur P0 | 
| enesyi | 0:dbd6ea244e7e | 41 | |
| enesyi | 0:dbd6ea244e7e | 42 | |
| enesyi | 0:dbd6ea244e7e | 43 | |
| enesyi | 0:dbd6ea244e7e | 44 | init(); // prépare certianes fonctions au debut | 
| enesyi | 0:dbd6ea244e7e | 45 | |
| enesyi | 0:dbd6ea244e7e | 46 | while(1)// boucle sans fin du programme | 
| enesyi | 0:dbd6ea244e7e | 47 | { | 
| enesyi | 0:dbd6ea244e7e | 48 | P = P0.read(); // regarde la tension sur P0 pour savoir si 0 ou 1L | 
| enesyi | 0:dbd6ea244e7e | 49 | if ( P > 0.51 ) | 
| enesyi | 0:dbd6ea244e7e | 50 | {pc.putc('s'); INP0 = 1;} | 
| enesyi | 0:dbd6ea244e7e | 51 | if ( P < 0.49 ) | 
| enesyi | 0:dbd6ea244e7e | 52 | {pc.putc('r'); INP0 = 0;} | 
| enesyi | 0:dbd6ea244e7e | 53 | P = P1.read(); | 
| enesyi | 0:dbd6ea244e7e | 54 | if ( P > 0.51 ) | 
| enesyi | 0:dbd6ea244e7e | 55 | {pc.putc('u'); INP1 = 1;} | 
| enesyi | 0:dbd6ea244e7e | 56 | if ( P < 0.49 ) | 
| enesyi | 0:dbd6ea244e7e | 57 | {pc.putc('t'); INP1 = 0;} | 
| enesyi | 0:dbd6ea244e7e | 58 | etape = inter ; | 
| enesyi | 0:dbd6ea244e7e | 59 | if ( etape == 0 ) { pc.putc('v'); } | 
| enesyi | 0:dbd6ea244e7e | 60 | if ( etape == 1 ) { pc.putc('w'); } | 
| enesyi | 0:dbd6ea244e7e | 61 | |
| enesyi | 0:dbd6ea244e7e | 62 | if ( etape == 0 ) etape0() ; // au debut etape = 0 | 
| enesyi | 0:dbd6ea244e7e | 63 | if ( etape == 1 ){ | 
| enesyi | 0:dbd6ea244e7e | 64 | if ((INP0==1) && (INP1==1)) etape1T(); | 
| enesyi | 0:dbd6ea244e7e | 65 | if ((INP0==0) && (INP1==1)) etape1F(); | 
| enesyi | 0:dbd6ea244e7e | 66 | if ((INP0==1) && (INP1==0)) etape1L(); | 
| enesyi | 0:dbd6ea244e7e | 67 | if ((INP0==0) && (INP1==0)) pc.putc('h'); | 
| enesyi | 0:dbd6ea244e7e | 68 | } | 
| enesyi | 0:dbd6ea244e7e | 69 | } | 
| enesyi | 0:dbd6ea244e7e | 70 | } | 
| enesyi | 0:dbd6ea244e7e | 71 | |
| enesyi | 0:dbd6ea244e7e | 72 | |
| enesyi | 0:dbd6ea244e7e | 73 |