natsu tsumagari / Mbed 2 deprecated receive_twe

Dependencies:   mbed

Revision:
2:f82d4b3f338f
Parent:
1:c1f5bd2b296c
Child:
3:4189f06dec07
--- a/main.cpp	Sat Oct 22 07:22:00 2016 +0000
+++ b/main.cpp	Sat Oct 22 09:11:28 2016 +0000
@@ -2,34 +2,94 @@
 
 Serial pc(USBTX,USBRX);
 Serial twe(p13,p14);
-char val;
+char data[74];
+int data_count;
 int data_num;
+bool datas_title_flag=false;
 
 int main() {
     twe.baud(115200);
     pc.baud(115200);
     data_num=0;
+    data_count=0;
     while(1) {
         if(twe.readable()){
-            val=twe.getc();
-            if(val==';'){
-                data_num++;
-//                pc.putc('\n');
-//                pc.putc('\r');
-                pc.putc((char)data_num);
-                pc.putc(':');
-            }
-            if(data_num==1)pc.putc(val);
-            if(data_num==6)pc.putc(val);
-            if(data_num==12)pc.putc(val);
-            if(data_num==13)pc.putc(val);
-            if(data_num==14)pc.putc(val);
-            if(data_num==15){
-                pc.putc('\n');
-                pc.putc('\r');
-                data_num=0;
-            }
+            data[data_count]=twe.getc();
             
-        }
-    }
-}
+                if(data[data_count]==';'){
+                    pc.putc((char)data_num);
+                    data_num++;
+                    datas_title_flag=true;
+                }
+                if(data_num==1){
+                    if(datas_title_flag){
+                        pc.printf("\n\r time:");
+                        datas_title_flag=false;
+                    }else{
+                        pc.putc(data[data_count]);
+                    }
+                    data_count++;
+                }
+                if(data_num==2){
+                    if(datas_title_flag){
+                        datas_title_flag=false;
+                        data_count++;
+                    }else if(data[data_count]=='\n\r'){
+                        for(int i=0;i<74;i++) data[i]= NULL;
+                        data_num=0;
+                        pc.putc('!');
+                        data_count=0;
+                    }else data_count++;
+                }
+                if(data_num==6){
+                    if(datas_title_flag){
+                        pc.printf("\n\r voltage:");
+                        datas_title_flag=false;
+                    }else{
+                        pc.putc(data[data_count]);
+                    }
+                    data_count++;
+                }
+                //if(data_num==12){
+    //                        if(!datas_title_flag){
+    //                            pc.printf("\n\r X:");
+    //                            datas_title_flag=true;
+    //                        }else{
+    //                            pc.putc(data[data_count])
+    //                        }
+    //                    }    
+    //                    if(data_num==13){
+    //                        if(!datas_title_flag){
+    //                            pc.printf("\n\r Y:");
+    //                            datas_title_flag=true;
+    //                        }else{
+    //                            pc.putc(data[data_count]);
+    //                        }
+    //                    }
+                if(data_num==14){
+                    if(datas_title_flag){
+                        pc.printf("\n\r Z:");
+                        datas_title_flag=false;
+                    }else{
+                        pc.putc(data[data_count]);
+                    }
+                    data_count++;
+                }
+                if(data_num==15){
+                    if(datas_title_flag){
+                        datas_title_flag=false;
+                        data_count++;
+                    }else{
+                        for(int i=0;i<74;i++)data[i]=NULL;
+                        data_num=0;
+                        data_count=0;
+                    }
+                    
+                }
+                
+            
+            
+        } //readable
+    }//while
+} //main
+//一行72文字