Atsumi Toda / Mbed 2 deprecated mbed_GPS_TP改2

Dependencies:   SDFileSystem mbed

Fork of mbed_GPS_TP by Atsumi Toda

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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   }}}