Atsumi Toda
/
mbed_GPS_TP
S-240の電装班 GPSロガーのTP用のプログラム。機体に搭載する際は、LPC1114FN28に移植することを推奨。
main.cpp
- Committer:
- Joeatsumi
- Date:
- 2017-09-03
- Revision:
- 0:7fe771d8b39a
File content as of revision 0:7fe771d8b39a:
//LPC1768での作動を確認。 #include "mbed.h" DigitalOut led(LED1); LocalFileSystem local("local"); //機体に搭載する際には、LPC1768ではなく、LPC1114を使うと思うので、 //LocalFileSystem ではなく、sdfilesystemを使うといいかも。 Serial gps(p9,p10);//9,10ピンをGPSの送受信に用いる。 int main(){ char rcv[256]; int count=0; int log_count=0; FILE*fp; gps.baud(9600); //gpsのボーレート設定 while(1){ if(gps.readable()){//GPSからの文字を受信したら rcv[count]=gps.getc(); if(rcv[count]=='$'){//$という文字を受信したら、 rcv[0]='$'; count=1; }else{ if(rcv[count-1]=='\r'&&rcv[count]=='\n'){ rcv[count+1]='\0'; if(memcmp(rcv, "$GPRMC",6) == 0) {//$GPRMCという文字を10回取得すると記録する。 if(log_count >= 10) { log_count=0; led=1; fp=fopen("/local/nmea.log","a"); if(fp != NULL){ fprintf(fp,"%s",rcv); fclose(fp); } // if(log_count >= 10) ends }else{ led=0; log_count++; }//else ends } count =0; }else{ count++; } } }}}