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.
Diff: main.cpp
- Revision:
- 0:4f6abed7fb04
diff -r 000000000000 -r 4f6abed7fb04 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Mon May 23 07:06:59 2022 +0000
@@ -0,0 +1,73 @@
+// 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');
+ }
+ }
+ }
+
+
+