point de depart de la programmation

Dependencies:   mbed

Committer:
dujardin
Date:
Wed Sep 18 08:29:56 2019 +0000
Revision:
4:fdb2d0fefd66
Parent:
3:032c516c2ffa
Child:
5:c404ef14ea33
septembre 2019

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dujardin 2:6566f09256dc 1 #include "mbed.h" //
dujardin 0:5945217144be 2
dujardin 4:fdb2d0fefd66 3 //-------- programme de test carte mes432 ----------------
dujardin 3:032c516c2ffa 4 // chaque seconde, numérise 4 valeurs sur ch1 ch2
dujardin 3:032c516c2ffa 5 // et envoie betement une trame neutre en codage duj2
dujardin 2:6566f09256dc 6 //
dujardin 2:6566f09256dc 7 // configuration liaison série à 19200 bps ( driver stlink)
dujardin 1:1779a3279496 8 // A0 et A1 sont placées en entrée analogique ( mesure sortie AOP)
dujardin 1:1779a3279496 9 // A3 et A4 sont placées en sortie analogique ( offset vers AOP)
dujardin 2:6566f09256dc 10 // sorties led sur carte nommée LL , IO sur D3 , pol sur D2
dujardin 3:032c516c2ffa 11 // broches D0 D1 sont précablées en I2C ( sans plus)
dujardin 4:fdb2d0fefd66 12 // connecteur (vue de face)*** I2C I2C IO Ov Ov 3.3V ch2 ch1 ***
dujardin 0:5945217144be 13 //------------------------------------
dujardin 0:5945217144be 14
dujardin 2:6566f09256dc 15 //****************** déclaration des broches ****************
dujardin 1:1779a3279496 16 Serial pc(SERIAL_TX, SERIAL_RX); // PORT SERIE SUR usb !!
dujardin 1:1779a3279496 17 AnalogIn Ch1(A0) ;AnalogIn Ch2(A1); // entrées ana nommées Ch1 Ch2
dujardin 1:1779a3279496 18 AnalogOut out1(A3);AnalogOut out2(A4); // sorties ana nommées out1 out2
dujardin 1:1779a3279496 19 I2C i2c(D0,D1); // (sda,scl) canal I2C nommé i2c
dujardin 2:6566f09256dc 20 DigitalOut pol(D2); // polarisation à 3.3V I2C ( si à 1)
dujardin 2:6566f09256dc 21 DigitalOut IO(D3); // sortie TTL nommée S0
dujardin 1:1779a3279496 22 DigitalOut LL(LED1); // led nommée LL ( sur module L432
dujardin 2:6566f09256dc 23 // nota IO peut etre déclarée en entrée en ecrivant DigitalIn IO(D3);
dujardin 2:6566f09256dc 24 //**********************************************************************
dujardin 4:fdb2d0fefd66 25 uint16_t chi[5]; // déclaratiion d'un tableau d'entiers 16bits sans signe
dujardin 4:fdb2d0fefd66 26 float chf[5]; // déclaration d'un tableau de float
dujardin 0:5945217144be 27
dujardin 3:032c516c2ffa 28 void init(void) // initialisation
dujardin 3:032c516c2ffa 29 {
dujardin 4:fdb2d0fefd66 30 pc.baud(19200); // vitesse liaison série
dujardin 4:fdb2d0fefd66 31 pol = 1; // polarisation résistancesde l' I2C
dujardin 3:032c516c2ffa 32 LL = 0 ; // led du L432 on
dujardin 4:fdb2d0fefd66 33 out1.write(0.5); // sortie ana A3 = 0.5 * 3.3V soit 1.6 V
dujardin 4:fdb2d0fefd66 34 out2.write(0.25); // sortie ana A4 = 0.25* 3.3V soit 0.8 V
dujardin 4:fdb2d0fefd66 35 IO = 0 ; // sortie I/O mise à 0
dujardin 3:032c516c2ffa 36 }
dujardin 3:032c516c2ffa 37
dujardin 3:032c516c2ffa 38 int main()
dujardin 3:032c516c2ffa 39 {
dujardin 3:032c516c2ffa 40 init();
dujardin 1:1779a3279496 41
dujardin 0:5945217144be 42 while(1) // boucle sans fin
dujardin 3:032c516c2ffa 43 {
dujardin 4:fdb2d0fefd66 44 LL = 1 ; // re allume Led carte
dujardin 4:fdb2d0fefd66 45 IO = 1; // sortie IO mise à 1 ( led hors carte )
dujardin 4:fdb2d0fefd66 46 wait(0.5); // delai 0.5s
dujardin 3:032c516c2ffa 47 LL= 0 ;
dujardin 4:fdb2d0fefd66 48 IO = 0 ;
dujardin 3:032c516c2ffa 49 wait(0.5);
dujardin 4:fdb2d0fefd66 50
dujardin 4:fdb2d0fefd66 51 chi[1] = Ch1.read_u16(); // lecture ch1 mise en memoire 16bits
dujardin 4:fdb2d0fefd66 52 chf[1] = Ch2.read(); // lecture ch2 mise en float en mémoire
dujardin 4:fdb2d0fefd66 53
dujardin 4:fdb2d0fefd66 54 // transfert d'une trame de 4 entiers au protocole duj2 ( exemple)
dujardin 4:fdb2d0fefd66 55 pc.putc('i'); // pointeur 1 = 0
dujardin 4:fdb2d0fefd66 56 pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('0');//Pt++
dujardin 4:fdb2d0fefd66 57 pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('1');
dujardin 4:fdb2d0fefd66 58 pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('2');
dujardin 4:fdb2d0fefd66 59 pc.putc('e'); pc.putc('0'); pc.putc('1'); pc.putc('0'); pc.putc('3');
dujardin 4:fdb2d0fefd66 60 pc.putc('q'); // mise en mémoire
dujardin 4:fdb2d0fefd66 61 // on verra sur Tera Term
dujardin 4:fdb2d0fefd66 62 // ceci " ie0100e0101e0102e0103q "
dujardin 4:fdb2d0fefd66 63 // cette partie sera celle qui vous servira a valider votre processing
dujardin 4:fdb2d0fefd66 64
dujardin 4:fdb2d0fefd66 65 //zone pour tester la carte et son cablage ( inutile pour processing)
dujardin 4:fdb2d0fefd66 66 printf(" chi =0x%04x " , chi[1] );
dujardin 4:fdb2d0fefd66 67 printf(" chf =%.6f \n", 3.3*( chf[1]));
dujardin 4:fdb2d0fefd66 68 // on lira sur Tera Term ( hors modifs sur le programme)
dujardin 4:fdb2d0fefd66 69 // ceci " chi =0x80b8 chf =0.710769 "
dujardin 4:fdb2d0fefd66 70
dujardin 3:032c516c2ffa 71 }
dujardin 3:032c516c2ffa 72 }