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

Dependencies:   mbed

Committer:
tsumagari
Date:
Wed Oct 26 10:13:10 2016 +0000
Revision:
6:71adef562691
Parent:
5:ad7e6acda243
Child:
7:0c3c1a484ebc
????????????int????????????????????

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 6:71adef562691 5 char data[74];
tsumagari 4:36f4a7c41412 6 int data_count;
tsumagari 4:36f4a7c41412 7 int data_num;
tsumagari 5:ad7e6acda243 8 int z_int;
tsumagari 6:71adef562691 9 int offset = (int)'0';
tsumagari 5:ad7e6acda243 10 float cadence;
tsumagari 4:36f4a7c41412 11 bool datas_title_flag=false;
tsumagari 0:8876c8f2119f 12
tsumagari 0:8876c8f2119f 13 int main() {
tsumagari 0:8876c8f2119f 14 twe.baud(115200);
tsumagari 0:8876c8f2119f 15 pc.baud(115200);
tsumagari 4:36f4a7c41412 16 data_num=0;
tsumagari 4:36f4a7c41412 17 data_count=0;
tsumagari 0:8876c8f2119f 18 while(1) {
tsumagari 0:8876c8f2119f 19 if(twe.readable()){
tsumagari 4:36f4a7c41412 20 data[data_count]=twe.getc();
tsumagari 4:36f4a7c41412 21
tsumagari 6:71adef562691 22 if(data[data_count]=='\r'){
tsumagari 4:36f4a7c41412 23 for(int i=0;i<73;i++) data[i]= NULL;
tsumagari 4:36f4a7c41412 24 data_num=0;
tsumagari 4:36f4a7c41412 25 pc.putc('!');
tsumagari 4:36f4a7c41412 26 data_count=0;
tsumagari 4:36f4a7c41412 27 }else{
tsumagari 4:36f4a7c41412 28 if(data[data_count]==';'){
tsumagari 4:36f4a7c41412 29 data_num++;
tsumagari 4:36f4a7c41412 30 datas_title_flag=true;
tsumagari 4:36f4a7c41412 31 }
tsumagari 4:36f4a7c41412 32 if(data_num==1){
tsumagari 4:36f4a7c41412 33 if(datas_title_flag){
tsumagari 4:36f4a7c41412 34 pc.printf("\n\r time:");
tsumagari 4:36f4a7c41412 35 datas_title_flag=false;
tsumagari 4:36f4a7c41412 36 }else{
tsumagari 4:36f4a7c41412 37 pc.putc(data[data_count]);
tsumagari 4:36f4a7c41412 38 }
tsumagari 6:71adef562691 39 }else 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 6:71adef562691 46 }else if(data_num==14){
tsumagari 4:36f4a7c41412 47 if(datas_title_flag){
tsumagari 4:36f4a7c41412 48 pc.printf("\n\r Z:");
tsumagari 5:ad7e6acda243 49 datas_title_flag=false;
tsumagari 4:36f4a7c41412 50 }else{
tsumagari 4:36f4a7c41412 51 pc.putc(data[data_count]);
tsumagari 4:36f4a7c41412 52 }
tsumagari 6:71adef562691 53 }else if(data_num==15){
tsumagari 6:71adef562691 54 z_int = (int)data[data_count-1] + (int)data[data_count-2]*10 + (int)data[data_count-3]*100 - offset*111;
tsumagari 6:71adef562691 55 if(data[data_count-4]!='0') z_int *= -1;
tsumagari 6:71adef562691 56 pc.printf("\n%d",z_int);
tsumagari 6:71adef562691 57 //pc.putc('\n');
tsumagari 6:71adef562691 58 // pc.putc(data[data_count]);
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文字