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