2021千草のl432(センサー)側プログラム
Dependencies: BufferedSerial SDFileSystem mbed
Diff: main.cpp
- Revision:
- 1:3f26e434ae82
- Parent:
- 0:d34ad1a628e4
- Child:
- 2:4c7d64e27929
diff -r d34ad1a628e4 -r 3f26e434ae82 main.cpp --- 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; }