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.
main.cpp@0:57304dca9808, 2020-09-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |