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.
Dependencies: mbed
main.cpp
- Committer:
- dujardin
- Date:
- 2019-09-16
- Revision:
- 3:032c516c2ffa
- Parent:
- 2:6566f09256dc
- Child:
- 4:fdb2d0fefd66
File content as of revision 3:032c516c2ffa:
#include "mbed.h" //
//-------- exemple dit <toto> dans mes432 ----------------
// chaque seconde, numérise 4 valeurs sur ch1 ch2
// et envoie betement une trame neutre en codage duj2
//
// 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 sont précablées en I2C ( sans plus)
//------------------------------------
//****************** 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];
void init(void) // initialisation
{
pc.baud(19200); // initialisations
pol = 1; //on polarise l'I2C au cas ou
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
}
int main()
{
init();
while(1) // boucle sans fin
{
LL = 1 ; // re 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
}
}