z

Dependencies:   BSP_DISCO_L476VG LCD_DISCO_L476VG

Committer:
Leonnn
Date:
Fri Jun 05 18:42:14 2020 +0000
Revision:
6:41d6f5a24ff0
Parent:
5:ff9848a77dac
Child:
7:01c904fd8ae3
V

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Leonnn 0:5ae3e965267b 1 #include "mbed.h"
Leonnn 5:ff9848a77dac 2 #include "math.h"
Leonnn 2:573692145af4 3 #include "LCD_DISCO_L476VG.h"
Leonnn 2:573692145af4 4
Leonnn 5:ff9848a77dac 5 #define PI 3.14159265358979323846
Leonnn 6:41d6f5a24ff0 6 #define PER 1
Leonnn 6:41d6f5a24ff0 7 #define cadence 0.01
Leonnn 5:ff9848a77dac 8
Leonnn 2:573692145af4 9 LCD_DISCO_L476VG lcd;
Leonnn 2:573692145af4 10
Leonnn 0:5ae3e965267b 11 Serial pc(SERIAL_TX, SERIAL_RX);
Leonnn 4:857fcfaf69fb 12 Ticker tick_cadence;
Leonnn 6:41d6f5a24ff0 13 Ticker tick_moy;
Leonnn 6:41d6f5a24ff0 14 bool flag_data = 0, flag_moy = 0;
Leonnn 4:857fcfaf69fb 15
Leonnn 5:ff9848a77dac 16
Leonnn 6:41d6f5a24ff0 17 void interrupt_data(void){
Leonnn 6:41d6f5a24ff0 18 flag_data = 1;
Leonnn 6:41d6f5a24ff0 19 }
Leonnn 6:41d6f5a24ff0 20 void interrupt_moy(void){
Leonnn 6:41d6f5a24ff0 21 flag_moy = 1;
Leonnn 4:857fcfaf69fb 22 }
Leonnn 0:5ae3e965267b 23
Leonnn 0:5ae3e965267b 24 int main(void){
Leonnn 5:ff9848a77dac 25 pc.baud(115200);
Leonnn 3:fb87187a09bd 26 unsigned char display[7] = {0};
Leonnn 6:41d6f5a24ff0 27 float t, y1, y2, moy;
Leonnn 0:5ae3e965267b 28
Leonnn 6:41d6f5a24ff0 29 tick_cadence.attach(&interrupt_data, 0.01);
Leonnn 6:41d6f5a24ff0 30 tick_moy.attach(&interrupt_moy, 1);
Leonnn 6:41d6f5a24ff0 31
Leonnn 5:ff9848a77dac 32 //-------------------------------------------------------------------------
Leonnn 0:5ae3e965267b 33 while(1){
Leonnn 2:573692145af4 34
Leonnn 6:41d6f5a24ff0 35 if(flag_data){// envoi des données
Leonnn 6:41d6f5a24ff0 36 pc.printf("$%f %f;", y1, y2);
Leonnn 6:41d6f5a24ff0 37 flag_data=0;
Leonnn 2:573692145af4 38 }
Leonnn 6:41d6f5a24ff0 39 if(flag_moy){// moyennage
Leonnn 6:41d6f5a24ff0 40 moy = moy/256;
Leonnn 6:41d6f5a24ff0 41 pc.printf("$%f %f %f;", y1, y2, moy);
Leonnn 6:41d6f5a24ff0 42 moy = 0;
Leonnn 6:41d6f5a24ff0 43 flag_moy = 0;
Leonnn 6:41d6f5a24ff0 44 }
Leonnn 6:41d6f5a24ff0 45 else
Leonnn 6:41d6f5a24ff0 46 moy += y2;
Leonnn 6:41d6f5a24ff0 47
Leonnn 6:41d6f5a24ff0 48 y1 = 2.0*sin(2.0*PI*(1.0/PER)*(t*cadence));
Leonnn 6:41d6f5a24ff0 49 y2= 2* fabs(y1) ;
Leonnn 6:41d6f5a24ff0 50 t++;;
Leonnn 6:41d6f5a24ff0 51 wait(cadence);
Leonnn 0:5ae3e965267b 52 }
Leonnn 0:5ae3e965267b 53 }