
エレキジャックweb mbed入門用です。課題2 $マーク発見後、文字列GPGGAを含む行のみを表示します。sscanf()関数を使います。
main.cpp
- Committer:
- takeuchi
- Date:
- 2011-01-30
- Revision:
- 0:1d5d3506a5ea
File content as of revision 0:1d5d3506a5ea:
// GPS GT-720F Test02 #include "mbed.h" #include "TextLCD0420.h" #define ON 1 #define OFF 0 TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3 Serial pc(USBTX, USBRX); // tx, rx Serial gps(p9,p10); int main() { int i; char gps_data[256]; float dummy1,dummy2; gps.baud(9600); lcd.cls(); lcd.locate(0,0); lcd.printf("GPS GT720F Test\n"); while (1) { i=0; while(gps.getc()!='$'){ } while( (gps_data[i]=gps.getc()) != '\r'){ i++; if(i==255){ pc.printf("*** Error! ***\n"); break; } } gps_data[i]='0'; if(sscanf(gps_data, "GPGGA,%f,%f",&dummy1,&dummy2) >= 1){ pc.printf("\x0D"); pc.printf("GPGGA data:\n"); pc.printf("%s\n\n",gps_data); } }//while }//main