2021千草のl432(センサー)側プログラム

Dependencies:   BufferedSerial SDFileSystem mbed

Revision:
1:3f26e434ae82
Parent:
0:d34ad1a628e4
Child:
2:4c7d64e27929
--- a/main.cpp	Fri Sep 24 09:07:33 2021 +0000
+++ b/main.cpp	Mon Oct 04 08:02:04 2021 +0000
@@ -2,16 +2,19 @@
  * Copyright (c) 2019 ARM Limited
  * SPDX-License-Identifier: Apache-2.0
  */
+ 
+ /*センサーにコマンドを送信するのはとりあえず後回し
+ GPSのデータを受信するのも後回し*/
 
 #include "mbed.h"
 //#include "platform/mbed_thread.h"
 #include "SDFileSystem.h"
 
-BufferedSerial jy901(D1,D0);
+Serial jy901(D1,D0);
 SDFileSystem sd(PA_7, PA_6, PA_5, PA_4, "sd");
 DigitalIn mcu_1(PA_8);
 DigitalIn mcu_2(PA_11);
-Serial f303(,);
+Serial f303(PA_3,PA_2);
 
 int sig=0;
 Ticker timer;
@@ -75,12 +78,14 @@
 }*/
 
 int getSignal(){    //センサー起動のタイミングで1を返し、センサー終了してGPS送信するタイミングで2を返す関数。
-    char mcuCom[10];
-    f303.read(mcuCom,4);    //mcuComに4byte(適当)のデータを取得しますよ
-    if(mcuCom[0]=="s"&&mcuCom[1]=="t"){ //startのsとt
+    char mcuCom=f303.getc();
+    //f303.read(mcuCom,2);    //mcuComに4byte(適当)のデータを取得しますよ
+    //if(mcuCom[0]=="s"&&mcuCom[1]=="t"){ //startのsとt
+    if(mcuCom=='s'){    //startの"s"
         return 1;
     }
-    if(mcuCom[0]=="G"&&mcuCom[1]=="P"){ //GPSのGP
+    //if(mcuCom[0]=="G"&&mcuCom[1]=="P"){ //GPSのGP
+    else if(mcuCom=='G'){    //GPSの"G"
         return 2;
     }
     
@@ -89,7 +94,7 @@
 
 void getGPS(){
     char buf[10000],data[10000];
-    int ucRxCnt;
+    int ucRxCnt,j=0;
     //string GPSStatus="";
     /*FILE *fp = fopen("/sd/2021MR/ground.bin", "w");
     if(fp == NULL) {
@@ -97,10 +102,10 @@
     }*/
     
     for(int i=0;i<10000;i++){
-        buf[i]=jy901.getc()
+        buf[i]=jy901.getc();
     }
     
-    while(int j<=int(sizeof(buf)/sizeof(buf[0])){        
+    while(j<=int(sizeof(buf)/sizeof(buf[0]))){        
         data[ucRxCnt++]=buf[j];  //Store the received data in the buffer
         if (data[0]!=0x55){ //The data header is not correct, then restart to find the 0x55 data header
             ucRxCnt=0;
@@ -126,8 +131,10 @@
                 case 0x56:  memcpy(&stcPress,&ucRxBuffer[2],8);break;
                 case 0x57:  memcpy(&stcLonLat,&ucRxBuffer[2],8);break;*/
                 case 0x58:  
-                memcpy(&stcGPSV,&ucRxBuffer[2],8);
-                sprintf(GPSStatus,"GPSHeight:%.1fm GPSYaw:%.1fDeg GPSV:%.3fkm/h\r\n",(float)stcGPSV.sGPSHeight/10,(float)stcGPSV.sGPSYaw/10,(float)stcGPSV.lGPSVelocity/1000);
+                //memcpy(&stcGPSV,&ucRxBuffer[2],8);
+                //sprintf(GPSStatus,"GPSHeight:%.1fm GPSYaw:%.1fDeg GPSV:%.3fkm/h\r\n",(float)stcGPSV.sGPSHeight/10,(float)stcGPSV.sGPSYaw/10,(float)stcGPSV.lGPSVelocity/1000);
+                //f303.printf("%s",GPSStatus);
+                printf("come a GPS data!!");
                 break;
                 //case 0x59:  memcpy(&stcQ,&ucRxBuffer[2],8);break;
             }