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:
- 4:fdb2d0fefd66
- Parent:
- 3:032c516c2ffa
- Child:
- 5:c404ef14ea33
--- a/main.cpp Mon Sep 16 14:39:31 2019 +0000 +++ b/main.cpp Wed Sep 18 08:29:56 2019 +0000 @@ -1,6 +1,6 @@ #include "mbed.h" // -//-------- exemple dit <toto> dans mes432 ---------------- +//-------- programme de test carte mes432 ---------------- // chaque seconde, numérise 4 valeurs sur ch1 ch2 // et envoie betement une trame neutre en codage duj2 // @@ -9,6 +9,7 @@ // A3 et A4 sont placées en sortie analogique ( offset vers AOP) // sorties led sur carte nommée LL , IO sur D3 , pol sur D2 // broches D0 D1 sont précablées en I2C ( sans plus) +// connecteur (vue de face)*** I2C I2C IO Ov Ov 3.3V ch2 ch1 *** //------------------------------------ //****************** déclaration des broches **************** @@ -21,17 +22,17 @@ DigitalOut LL(LED1); // led nommée LL ( sur module L432 // nota IO peut etre déclarée en entrée en ecrivant DigitalIn IO(D3); //********************************************************************** -uint16_t ch1i[5]; // tableaux d' int -uint16_t ch2i[5]; +uint16_t chi[5]; // déclaratiion d'un tableau d'entiers 16bits sans signe +float chf[5]; // déclaration d'un tableau de float void init(void) // initialisation { - pc.baud(19200); // initialisations - pol = 1; //on polarise l'I2C au cas ou + pc.baud(19200); // vitesse liaison série + pol = 1; // polarisation résistancesde l' I2C LL = 0 ; // led du L432 on - out1.write(0.5); // sortie A3 = 0.5 * 3.3V soit 1.6 V - out2.write(0.25); // sortie A4 = 0.25* 3.3V soit 0.8 V - IO = 1 ; // sortie I/O commande mise à 1 ou 3.3V + out1.write(0.5); // sortie ana A3 = 0.5 * 3.3V soit 1.6 V + out2.write(0.25); // sortie ana A4 = 0.25* 3.3V soit 0.8 V + IO = 0 ; // sortie I/O mise à 0 } int main() @@ -40,21 +41,32 @@ while(1) // boucle sans fin { - LL = 1 ; // re allume Led - wait(0.5); + LL = 1 ; // re allume Led carte + IO = 1; // sortie IO mise à 1 ( led hors carte ) + wait(0.5); // delai 0.5s LL= 0 ; + IO = 0 ; wait(0.5); - for ( int i = 0 ; i < 5 ; i++) - { - ch1i[i] = Ch1.read_u16()/16; // lecture 1 - ch2i[i] = Ch2.read_u16()/16; // c'est tout - } - // transfert comme dans l'avant dernier exemple de la fiche duj2 - pc.putc('i'); // poiteur 1 = 0 - pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('0');//Pt++ - pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('1'); - pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('2'); - pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('3'); - pc.putc('q'); // mise en mémoire vers utilisateur + pointeur1 = 0 + + chi[1] = Ch1.read_u16(); // lecture ch1 mise en memoire 16bits + chf[1] = Ch2.read(); // lecture ch2 mise en float en mémoire + + // transfert d'une trame de 4 entiers au protocole duj2 ( exemple) + pc.putc('i'); // pointeur 1 = 0 + pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('0');//Pt++ + pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('1'); + pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('2'); + pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('3'); + pc.putc('q'); // mise en mémoire + // on verra sur Tera Term + // ceci " ie0100e0101e0102e0103q " + // cette partie sera celle qui vous servira a valider votre processing + + //zone pour tester la carte et son cablage ( inutile pour processing) + printf(" chi =0x%04x " , chi[1] ); + printf(" chf =%.6f \n", 3.3*( chf[1])); + // on lira sur Tera Term ( hors modifs sur le programme) + // ceci " chi =0x80b8 chf =0.710769 " + } }