![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
回転数計のデータをトワイライトから受け取って回転数を計算して表示します。
main.cpp@7:0c3c1a484ebc, 2016-10-26 (annotated)
- Committer:
- tsumagari
- Date:
- Wed Oct 26 10:27:04 2016 +0000
- Revision:
- 7:0c3c1a484ebc
- Parent:
- 6:71adef562691
- Child:
- 8:e29764121447
????r/m)????????????????
Who changed what in which revision?
User | Revision | Line number | New 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 | 7:0c3c1a484ebc | 9 | double z_double; |
tsumagari | 6:71adef562691 | 10 | int offset = (int)'0'; |
tsumagari | 5:ad7e6acda243 | 11 | float cadence; |
tsumagari | 4:36f4a7c41412 | 12 | bool datas_title_flag=false; |
tsumagari | 0:8876c8f2119f | 13 | |
tsumagari | 0:8876c8f2119f | 14 | int main() { |
tsumagari | 0:8876c8f2119f | 15 | twe.baud(115200); |
tsumagari | 0:8876c8f2119f | 16 | pc.baud(115200); |
tsumagari | 4:36f4a7c41412 | 17 | data_num=0; |
tsumagari | 4:36f4a7c41412 | 18 | data_count=0; |
tsumagari | 0:8876c8f2119f | 19 | while(1) { |
tsumagari | 0:8876c8f2119f | 20 | if(twe.readable()){ |
tsumagari | 4:36f4a7c41412 | 21 | data[data_count]=twe.getc(); |
tsumagari | 4:36f4a7c41412 | 22 | |
tsumagari | 6:71adef562691 | 23 | if(data[data_count]=='\r'){ |
tsumagari | 4:36f4a7c41412 | 24 | for(int i=0;i<73;i++) data[i]= NULL; |
tsumagari | 4:36f4a7c41412 | 25 | data_num=0; |
tsumagari | 4:36f4a7c41412 | 26 | pc.putc('!'); |
tsumagari | 4:36f4a7c41412 | 27 | data_count=0; |
tsumagari | 4:36f4a7c41412 | 28 | }else{ |
tsumagari | 4:36f4a7c41412 | 29 | if(data[data_count]==';'){ |
tsumagari | 4:36f4a7c41412 | 30 | data_num++; |
tsumagari | 4:36f4a7c41412 | 31 | datas_title_flag=true; |
tsumagari | 4:36f4a7c41412 | 32 | } |
tsumagari | 4:36f4a7c41412 | 33 | if(data_num==1){ |
tsumagari | 4:36f4a7c41412 | 34 | if(datas_title_flag){ |
tsumagari | 4:36f4a7c41412 | 35 | pc.printf("\n\r time:"); |
tsumagari | 4:36f4a7c41412 | 36 | datas_title_flag=false; |
tsumagari | 4:36f4a7c41412 | 37 | }else{ |
tsumagari | 4:36f4a7c41412 | 38 | pc.putc(data[data_count]); |
tsumagari | 4:36f4a7c41412 | 39 | } |
tsumagari | 6:71adef562691 | 40 | }else if(data_num==6){ |
tsumagari | 4:36f4a7c41412 | 41 | if(datas_title_flag){ |
tsumagari | 4:36f4a7c41412 | 42 | pc.printf("\n\r voltage:"); |
tsumagari | 4:36f4a7c41412 | 43 | datas_title_flag=false; |
tsumagari | 4:36f4a7c41412 | 44 | }else{ |
tsumagari | 4:36f4a7c41412 | 45 | pc.putc(data[data_count]); |
tsumagari | 4:36f4a7c41412 | 46 | } |
tsumagari | 6:71adef562691 | 47 | }else 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 | 6:71adef562691 | 54 | }else if(data_num==15){ |
tsumagari | 6:71adef562691 | 55 | z_int = (int)data[data_count-1] + (int)data[data_count-2]*10 + (int)data[data_count-3]*100 - offset*111; |
tsumagari | 6:71adef562691 | 56 | if(data[data_count-4]!='0') z_int *= -1; |
tsumagari | 7:0c3c1a484ebc | 57 | z_double = (double)z_int/6; //角度補正前ふつうに |
tsumagari | 7:0c3c1a484ebc | 58 | pc.printf("\n%f",z_double); |
tsumagari | 7:0c3c1a484ebc | 59 | z_double = z_double * 36.3/35.0; //角度*363/350で補正 |
tsumagari | 7:0c3c1a484ebc | 60 | pc.printf("\n%f",z_double); |
tsumagari | 6:71adef562691 | 61 | //pc.putc('\n'); |
tsumagari | 6:71adef562691 | 62 | // pc.putc(data[data_count]); |
tsumagari | 5:ad7e6acda243 | 63 | } |
tsumagari | 4:36f4a7c41412 | 64 | data_count++; |
tsumagari | 4:36f4a7c41412 | 65 | }//else |
tsumagari | 4:36f4a7c41412 | 66 | |
tsumagari | 4:36f4a7c41412 | 67 | } //readable |
tsumagari | 4:36f4a7c41412 | 68 | }//while |
tsumagari | 4:36f4a7c41412 | 69 | } //main |
tsumagari | 4:36f4a7c41412 | 70 | //一行72文字 |