Rosario Schiano Lo Moriello
/
Example11AccelerometerSimulator
Accelerometer simulator
Diff: main.cpp
- Revision:
- 2:fbb699c3994f
- Parent:
- 1:a31564d0b86c
- Child:
- 3:b87d5296015c
diff -r a31564d0b86c -r fbb699c3994f main.cpp --- a/main.cpp Tue Oct 20 14:40:30 2020 +0000 +++ b/main.cpp Tue Nov 03 15:23:36 2020 +0000 @@ -1,31 +1,58 @@ #include "mbed.h" +#include <stdlib.h> -Serial pc(PA_2,PA_3,115200); +union MYFLOAT { + float value; + uint8_t byte[4]; +} example,sampPer; + +union MYINT { + uint16_t value; + uint8_t byte[2]; +} nSamples; + +Serial pc(PA_2,PA_3,921600); DigitalIn myBtn(PC_13); Timer timer; // Clock frequency 84MHz 12ns Instruction clock -unsigned int nSamples,cnt; -float sampPer,elapTime; +unsigned int cnt; +float elapTime,value = 17.1234567; int main() { - pc.printf("Press the user button to start\r\n"); + /* example.value = 2.343456795e1; + pc.printf("The value is %.9f.\r\n",example.value); + // pc.printf("The value is "); + for(int j=0;j<10;j++){ + for(int i=0;i<4;i++){ + pc.putc(example.byte[i]); + } + example.value = example.value + 1.0f; + } + // pc.printf("\r\n"); + */ while(myBtn); while(!myBtn); - pc.printf("Good Job!!!\r\n"); - timer.start(); - while(1) { - pc.printf("How many samples do you desire? "); - pc.scanf("%u",&nSamples); - pc.printf("\r\nEntered %d.\r\n",nSamples); - pc.printf("Please, provide the sampling period [s] "); - pc.scanf("%f",&sampPer); - pc.printf("\r\nEntered %f.\r\n",sampPer); - for(cnt=0; cnt<nSamples; cnt++) { + pc.printf("Hello world!!!\r\n"); +// timer.start(); + while(1) { + for(cnt=0; cnt<2; cnt++) + nSamples.byte[cnt] = pc.getc(); +// pc.scanf("%u",&nSamples); + pc.printf("Entered %d.\r\n",nSamples.value); +// pc.printf("Please, provide the sampling period [s] "); + for(cnt=0; cnt<4; cnt++) + sampPer.byte[cnt] = pc.getc(); +// pc.scanf("%f",&sampPer); + pc.printf("Entered %e.\r\n",sampPer.value); + for(cnt=0; cnt<nSamples.value; cnt++) { timer.reset(); - pc.printf("Value: %u\r\n",cnt); + example.value = value + (float)(rand()%100)/100; + for(int i=0; i<4; i++) { + pc.putc(example.byte[i]); + } elapTime = timer.read(); - wait(sampPer - elapTime); + wait(sampPer.value - elapTime); } } } \ No newline at end of file