z
Dependencies: BSP_DISCO_L476VG LCD_DISCO_L476VG
main.cpp@6:41d6f5a24ff0, 2020-06-05 (annotated)
- 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?
User | Revision | Line number | New 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 | } |