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
- 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');
}
}
}