Pierre Provent / Mbed 2 deprecated Test_CNA_Nucleo_F429ZI

Dependencies:   mbed

Committer:
pierreprovent
Date:
Fri Sep 25 10:21:11 2020 +0000
Revision:
0:57304dca9808
Child:
1:4d5a771fa495
Revision mineure

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pierreprovent 0:57304dca9808 1 #include "mbed.h"
pierreprovent 0:57304dca9808 2
pierreprovent 0:57304dca9808 3 extern void Sauve_USB(float *,int ) ;
pierreprovent 0:57304dca9808 4 extern Serial pc ;
pierreprovent 0:57304dca9808 5
pierreprovent 0:57304dca9808 6 #define FECH 20000 // Fréquence d'échantillonnage souhaitée
pierreprovent 0:57304dca9808 7 // Maximum 40 kHz
pierreprovent 0:57304dca9808 8 #define TAILLE_TAB (FECH/10) // Pour stocker 1/10 s du signal
pierreprovent 0:57304dca9808 9 // Donc fmin signal = 10 Hz
pierreprovent 0:57304dca9808 10
pierreprovent 0:57304dca9808 11 Ticker acquisition_CAN ;
pierreprovent 0:57304dca9808 12 AnalogIn entree(PC_3); // A2 connecteur Arduino
pierreprovent 0:57304dca9808 13 DigitalIn button(USER_BUTTON);
pierreprovent 0:57304dca9808 14
pierreprovent 0:57304dca9808 15 float tab[TAILLE_TAB] ;
pierreprovent 0:57304dca9808 16
pierreprovent 0:57304dca9808 17 void acquisition() {
pierreprovent 0:57304dca9808 18 static int i = 0 ;
pierreprovent 0:57304dca9808 19 tab[i] = 3.3f*entree.read(); // Conversion en volts
pierreprovent 0:57304dca9808 20 i++;
pierreprovent 0:57304dca9808 21 if (i == TAILLE_TAB) i = 0 ;
pierreprovent 0:57304dca9808 22 }
pierreprovent 0:57304dca9808 23
pierreprovent 0:57304dca9808 24 int main(void)
pierreprovent 0:57304dca9808 25 {
pierreprovent 0:57304dca9808 26 pc.printf("\033[2J"); // Sequence escape qui efface la console
pierreprovent 0:57304dca9808 27 pc.printf("Acquisition d'un signal sur broche PC_3(A2)\n");
pierreprovent 0:57304dca9808 28 pc.printf("Et enregistrement sur clef USB\n");
pierreprovent 0:57304dca9808 29 pc.printf("Frequence d'echantillonnage actuelle = %d Hz\n",FECH);
pierreprovent 0:57304dca9808 30 pc.printf("Veuillez connecter un signal sur cette broche \n");
pierreprovent 0:57304dca9808 31 pc.printf("Appuyez sur le bouton USER de la carte pour demarrer l'acquisition\n");
pierreprovent 0:57304dca9808 32 while (button.read() == 0) ;
pierreprovent 0:57304dca9808 33 acquisition_CAN.attach_us(&acquisition,1000000/FECH);
pierreprovent 0:57304dca9808 34 wait(0.2) ; // Attendre au moins 1/10 seconde pour remplir le buffer des échantillons prélevés sur PC_3
pierreprovent 0:57304dca9808 35 acquisition_CAN.detach() ; // Stopper l'acquisition des échantillons
pierreprovent 0:57304dca9808 36 Sauve_USB(tab,TAILLE_TAB);
pierreprovent 0:57304dca9808 37 while(1) ;
pierreprovent 0:57304dca9808 38 }