回転数計のデータをトワイライトから受け取って回転数を計算して表示します。

Dependencies:   mbed

Committer:
tsumagari
Date:
Sat Oct 22 22:27:29 2016 +0000
Revision:
5:ad7e6acda243
Parent:
4:36f4a7c41412
Child:
6:71adef562691
ho

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tsumagari 0:8876c8f2119f 1 #include "mbed.h"
tsumagari 0:8876c8f2119f 2
tsumagari 0:8876c8f2119f 3 Serial pc(USBTX,USBRX);
tsumagari 0:8876c8f2119f 4 Serial twe(p13,p14);
tsumagari 4:36f4a7c41412 5 char data[73];
tsumagari 4:36f4a7c41412 6 int data_count;
tsumagari 4:36f4a7c41412 7 int data_num;
tsumagari 5:ad7e6acda243 8 int z_int;
tsumagari 5:ad7e6acda243 9 float cadence;
tsumagari 4:36f4a7c41412 10 bool datas_title_flag=false;
tsumagari 0:8876c8f2119f 11
tsumagari 0:8876c8f2119f 12 int main() {
tsumagari 0:8876c8f2119f 13 twe.baud(115200);
tsumagari 0:8876c8f2119f 14 pc.baud(115200);
tsumagari 4:36f4a7c41412 15 data_num=0;
tsumagari 4:36f4a7c41412 16 data_count=0;
tsumagari 0:8876c8f2119f 17 while(1) {
tsumagari 0:8876c8f2119f 18 if(twe.readable()){
tsumagari 4:36f4a7c41412 19 data[data_count]=twe.getc();
tsumagari 4:36f4a7c41412 20
tsumagari 4:36f4a7c41412 21 if(data[data_count]=='\n'){
tsumagari 4:36f4a7c41412 22 for(int i=0;i<73;i++) data[i]= NULL;
tsumagari 4:36f4a7c41412 23 data_num=0;
tsumagari 4:36f4a7c41412 24 pc.putc('!');
tsumagari 4:36f4a7c41412 25 data_count=0;
tsumagari 4:36f4a7c41412 26 }else{
tsumagari 4:36f4a7c41412 27 if(data[data_count]==';'){
tsumagari 4:36f4a7c41412 28 data_num++;
tsumagari 4:36f4a7c41412 29 datas_title_flag=true;
tsumagari 4:36f4a7c41412 30 }
tsumagari 4:36f4a7c41412 31 if(data_num==1){
tsumagari 4:36f4a7c41412 32 if(datas_title_flag){
tsumagari 4:36f4a7c41412 33 pc.printf("\n\r time:");
tsumagari 4:36f4a7c41412 34 datas_title_flag=false;
tsumagari 4:36f4a7c41412 35 }else{
tsumagari 4:36f4a7c41412 36 pc.putc(data[data_count]);
tsumagari 4:36f4a7c41412 37 }
tsumagari 4:36f4a7c41412 38 }
tsumagari 4:36f4a7c41412 39 if(data_num==6){
tsumagari 4:36f4a7c41412 40 if(datas_title_flag){
tsumagari 4:36f4a7c41412 41 pc.printf("\n\r voltage:");
tsumagari 4:36f4a7c41412 42 datas_title_flag=false;
tsumagari 4:36f4a7c41412 43 }else{
tsumagari 4:36f4a7c41412 44 pc.putc(data[data_count]);
tsumagari 4:36f4a7c41412 45 }
tsumagari 4:36f4a7c41412 46 }
tsumagari 4:36f4a7c41412 47 if(data_num==14){
tsumagari 4:36f4a7c41412 48 if(datas_title_flag){
tsumagari 4:36f4a7c41412 49 pc.printf("\n\r Z:");
tsumagari 5:ad7e6acda243 50 datas_title_flag=false;
tsumagari 4:36f4a7c41412 51 }else{
tsumagari 4:36f4a7c41412 52 pc.putc(data[data_count]);
tsumagari 4:36f4a7c41412 53 }
tsumagari 4:36f4a7c41412 54 }
tsumagari 5:ad7e6acda243 55 if(data_num==15){
tsumagari 5:ad7e6acda243 56 z_int = data[data_count-1] + data[data_count-2]*10 + data[data_count-3]*100;
tsumagari 5:ad7e6acda243 57 if(data[data_count-4]!=0) z_int *= -1;
tsumagari 5:ad7e6acda243 58 pc.printf("%d",z_int);
tsumagari 5:ad7e6acda243 59 }
tsumagari 4:36f4a7c41412 60 data_count++;
tsumagari 4:36f4a7c41412 61 }//else
tsumagari 4:36f4a7c41412 62
tsumagari 4:36f4a7c41412 63 } //readable
tsumagari 4:36f4a7c41412 64 }//while
tsumagari 4:36f4a7c41412 65 } //main
tsumagari 4:36f4a7c41412 66 //一行72文字