S-240の電装班 GPSロガーのTP用のプログラム。機体に搭載する際は、LPC1114FN28に移植することを推奨。
Dependencies: SDFileSystem mbed
Fork of mbed_GPS_TP by
main.cpp
00001 //LPC1768での作動を確認。 00002 #include "mbed.h" 00003 #include "SDFileSystem.h" 00004 00005 DigitalOut led(LED1); 00006 //LocalFileSystem local("local"); 00007 SDFileSystem sd(p5, p6, p7, p8, "sd"); 00008 00009 //機体に搭載する際には、LPC1768ではなく、LPC1114を使うと思うので、 00010 //LocalFileSystem ではなく、sdfilesystemを使うといいかも。 00011 00012 Serial gps(p9,p10);//9,10ピンをGPSの送受信に用いる。 00013 Serial pc(USBTX,USBRX); 00014 00015 int main(){ 00016 00017 char rcv[256]; 00018 int count=0; 00019 int log_count=0; 00020 FILE*fp; 00021 00022 gps.baud(9600); //gpsのボーレート設定 00023 00024 00025 while(1){ 00026 if(gps.readable()){//GPSからの文字を受信したら 00027 00028 rcv[count]=gps.getc(); 00029 00030 00031 if(rcv[count]=='$'){//$という文字を受信したら、 00032 rcv[0]='$'; 00033 count=1; 00034 }else{ 00035 if(rcv[count-1]=='\r'&&rcv[count]=='\n'){ 00036 rcv[count+1]='\0'; 00037 00038 if(memcmp(rcv, "$GPRMC",6) == 0) {//$GPRMCという文字を1回取得すると記録する。 00039 00040 if(log_count >= 1) { 00041 00042 log_count=0; 00043 led=1; 00044 mkdir("/sd/mydir", 0777); 00045 fp=fopen("/sd/mydir/nmea.log","a"); 00046 if(fp != NULL){ 00047 fprintf(fp,"%s",rcv); 00048 fclose(fp); 00049 } // if(log_count >= 10) ends 00050 }else{ 00051 led=0; 00052 log_count++; 00053 }//else ends 00054 00055 } 00056 count =0; 00057 }else{ 00058 count++; 00059 } 00060 } 00061 }}}
Generated on Tue Aug 9 2022 01:34:44 by
1.7.2
