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:
- dujardin
- Date:
- 2021-10-09
- Revision:
- 12:09b5ebdca214
- Parent:
- 11:fa0f1787ea13
- Child:
- 13:b19e2f833926
File content as of revision 12:09b5ebdca214:
#include "mbed.h" // // programme formation carte MicroC SAE S2 1.2 //****************** déclaration des broches **************** Serial pc(SERIAL_TX, SERIAL_RX); // PORT SERIE SUR usb !! AnalogIn Ch1(A0) ; // pour mesure de Vs de SAE S2 1.1 0.1V/°C AnalogOut Vk(A4) ; // sortie compensation temperature vers SAE S2 1.1 AnalogIn P1(A1) ;AnalogIn P0(A3) ; // clef de carte 11 pour temperature AnalogIn simulVs(A2) ; // potentiometre de simulation de Vs DigitalOut plus(D1); // alim pull up interupteur DigitalIn inter(D2); // entrée mesure inter 0 ou 1 DigitalOut LED(D9); // sortie LED carte MicroC //****variables *********************************************************** uint16_t chi[10]; // declare un tableau d'int >0 int recpt = 0; // varriable pour arrivée d'un octet de la liaison série float inVs = 0.5 ; // variable pour Vs float de 0 à 1 pour 0 à 3.3V float simVs = 0.5; // variable pour V potentiomètre float outVk = 0.3681; // varible qui fait Vk = 1.244 ( compense ambiant) int out = 0 ; // variable de sortie à serialiser int CAL = 0 ; // si demande de calibration = 1 //******** sous programmes ( situés en bas de cette page ) void interrupt(); // lié à la liaison série void init(void) // initialisations hard { pc.baud(115200); // vitesse liaison série pc.attach(&interrupt, Serial::RxIrq); // autorise IT de liaison serie plus = 1; // polarisation résistances inter LED = 0 ; // led du MicroC off Vk.write(outVk); // sortie de vK } int main() { init(); while(1) { if ( CAL == 1) { CAL = 0 ;} //Votre futur travail pour calibrer**************** if( inter == 1) // test K1 sur carte MicroC {// si inter ouvert mode normal LED = 1 ; // votre travail pour mesurer la temperature sur Vs ************ } if ( inter == 0) { // si inter en CC : mode testavec mesure sur pot LED = 0 ; // eteindre LED carte MicroC wait(0.5); // delai 0.5s simVs = simulVs.read(); // lire le potentiomètre out = 300*simVs ; // mettre dans une echelle 0 à 300 simVs pc.putc('D'); // ouvrir transfert pc.printf("%d", out); // duj10 de la temperature pc.putc('T'); // fermer et mettre dans température } } } void interrupt()//"recepteur" à chaque carractère reçut ce programme est activé { // à vous de jouer !! recpt = pc.getc(); if ( recpt == 'l') LED = 1 ; //allumer LED if ( recpt == 'a') CAL = 1 ; //demande de calibration ( la votre ) // à faire detecter p et m pour faire Vk + ou - ********************* return; }