programme de base "fonctionnel" pour utiliser une carte L432 dans le cadre de mes projets
Dependencies: mbed
main.cpp
- Committer:
- dujardin
- Date:
- 2019-08-15
- Revision:
- 2:6566f09256dc
- Parent:
- 1:1779a3279496
- Child:
- 3:032c516c2ffa
File content as of revision 2:6566f09256dc:
#include "mbed.h" // //-------- exemple <toto> dans mes432 ---------------- // chaque seconde il numérise 4 datas de A0 et A1 et joue à duj2 sans plus // // configuration liaison série à 19200 bps ( driver stlink) // A0 et A1 sont placées en entrée analogique ( mesure sortie AOP) // 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 de l'I2C sont pré déclarées //------------------------------------ //****************** déclaration des broches **************** Serial pc(SERIAL_TX, SERIAL_RX); // PORT SERIE SUR usb !! AnalogIn Ch1(A0) ;AnalogIn Ch2(A1); // entrées ana nommées Ch1 Ch2 AnalogOut out1(A3);AnalogOut out2(A4); // sorties ana nommées out1 out2 I2C i2c(D0,D1); // (sda,scl) canal I2C nommé i2c DigitalOut pol(D2); // polarisation à 3.3V I2C ( si à 1) DigitalOut IO(D3); // sortie TTL nommée S0 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]; int main() { pc.baud(19200); // initialisations pol = 1; //on polarise l'I2C au cas ou LL = 0 ; // led 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 while(1) // boucle sans fin { LL = 1 ; // allume Led wait(0.5); LL= 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 } }