natsu tsumagari
/
receive_twe
回転数計のデータをトワイライトから受け取って回転数を計算して表示します。
main.cpp@6:71adef562691, 2016-10-26 (annotated)
- 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?
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 | 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文字 |