201708能代のメインマイコンの保存データ送信用プログラム(データ送信部分を繰り返しタイマー割り込みにした)
Dependencies: MPU6050 MS5607 mbed
Fork of data_sousin by
Diff: main.cpp
- Revision:
- 4:918ea47cc35c
- Parent:
- 3:660279be8484
- Child:
- 5:a81dd9b6962a
diff -r 660279be8484 -r 918ea47cc35c main.cpp --- a/main.cpp Tue Aug 15 11:51:32 2017 +0000 +++ b/main.cpp Wed Aug 16 08:46:37 2017 +0000 @@ -1,20 +1,20 @@ -/* データ取得&送信するプログラム * - * 各データの終わりの印として'$'を送信 * - * なぜか割り込みタイマの周期が一定にならない */ +/********************************************************** + データ取得&送信するプログラム + 各データの終わりの印として'$'を送信 +************************************************************/ #include "mbed.h" #include "MPU6050.h" #define ACC 16384 -#define BUFFNUM 30 /*受信側のBUFFNUMと同値*/ +#define BUFFNUM 100 /*受信側のBUFFNUMと同値*/ #define CHARANUM 30 -#define RATE 30.0 /*RATE[Hz]でデータ取得*/ +#define RATE 100.0 /*RATE[Hz]でデータ取得*/ MPU6050 mpu(p9,p10); Serial subCP(p28, p27); Ticker log_timer; -Ticker send_timer; Timer t; float Time[2][BUFFNUM] = {}; @@ -26,15 +26,28 @@ int Moji_cnt = 0; void _log(); -void _send(); int main(){ t.start(); log_timer.attach(_log,1.0/RATE); - while(1); + while(1){ + if(Moji_cnt==0){ + sprintf(&Moji[Row][Send_cnt][0],"%f, %f",Time[!Row][Send_cnt],Data[!Row][Send_cnt]); + } + subCP.putc(Moji[Row][Send_cnt][Moji_cnt]); + Moji_cnt++; + if(Moji_cnt==CHARANUM || Moji[Row][Send_cnt][Moji_cnt]=='\0'){ + Moji_cnt = 0; + subCP.putc('$'); + Send_cnt++; + if(Send_cnt==BUFFNUM){ + Send_cnt = 0; + } + } + } } -/* データ取得 */ +/* データ取得関数 */ void _log(){ //TODO: 高度データの取得 //TODO: 取得する加速度を合成加速度に変更 @@ -44,23 +57,6 @@ if(Col == BUFFNUM){ Col = 0; Row = !Row; - send_timer.attach(_send,(BUFFNUM/(CHARANUM*RATE*RATE))*0.8); } } -void _send(){ - if(Moji_cnt==0){ - sprintf(&Moji[Row][Send_cnt][0],"%f, %f",Time[!Row][Send_cnt],Data[!Row][Send_cnt]); - } - subCP.putc(Moji[Row][Send_cnt][Moji_cnt]); - Moji_cnt++; - if(Moji_cnt==CHARANUM || Moji[Row][Send_cnt][Moji_cnt]=='\0'){ - Moji_cnt = 0; - subCP.putc('$'); - Send_cnt++; - if(Send_cnt==BUFFNUM){ - Send_cnt = 0; - send_timer.detach(); - } - } -} \ No newline at end of file