S-240の電装班 GPSロガーのTP用のプログラム。機体に搭載する際は、LPC1114FN28に移植することを推奨。
Dependencies: SDFileSystem mbed
Fork of mbed_GPS_TP by
main.cpp
- Committer:
- Joeatsumi
- Date:
- 2017-09-11
- Revision:
- 1:ac509e6b8e61
- Parent:
- 0:7fe771d8b39a
File content as of revision 1:ac509e6b8e61:
//LPC1768での作動を確認。 #include "mbed.h" #include "SDFileSystem.h" DigitalOut led(LED1); //LocalFileSystem local("local"); SDFileSystem sd(p5, p6, p7, p8, "sd"); //機体に搭載する際には、LPC1768ではなく、LPC1114を使うと思うので、 //LocalFileSystem ではなく、sdfilesystemを使うといいかも。 Serial gps(p9,p10);//9,10ピンをGPSの送受信に用いる。 Serial pc(USBTX,USBRX); 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という文字を1回取得すると記録する。 if(log_count >= 1) { log_count=0; led=1; mkdir("/sd/mydir", 0777); fp=fopen("/sd/mydir/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++; } } }}}