20220630

Dependencies:   mbed

Revision:
0:ab3cf2891663
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jul 01 04:38:08 2022 +0000
@@ -0,0 +1,52 @@
+#include "mbed.h"
+
+DigitalOut myled(LED1);
+
+Serial gps(p13,p14);
+Serial twe(p9,p10);
+Serial usb(USBTX,USBRX);
+
+float t,hokui,tokei,data2;
+char ns,ew;
+int quality,num;
+char gps_data[256];
+int gps_cnt=0,sw=0;
+float w_time,hokui2,tokei2;
+
+int main() {
+    gps.baud(38400);
+    twe.baud(38400);
+    wait(1.0);
+    twe.printf("Hello\r\n");
+    usb.printf("Hello\r\n");
+while(1){
+        gps_data[gps_cnt] = gps.getc();
+        if(gps_data[gps_cnt] == '$'){
+            gps_cnt = 0;
+            sw = 1;
+            usb.printf("$\r\n");
+        }
+        if(sw == 1){
+            //usb.putc(gps_data[gps_cnt]);
+            if(gps_data[gps_cnt] == '\n'){
+                gps_data[gps_cnt-1] = '\0';
+                sscanf(gps_data, "$GPGGA,%f,%f,%c,%f,%c,%d,%d,%f,",&w_time,&hokui,&ns,&tokei,&ew,&quality,&num,&data2);
+                //usb.printf("RF:%f,%f,%c,%f,%c,%d,%d,%f\r\n",w_time,hokui,ns,tokei,ew,quality,num,data2);
+                
+                hokui2 = hokui/100.0f;
+                hokui = int(hokui2) + (hokui2 - int(hokui2))*100.0f/60.0f;
+                tokei2 = tokei/100.0f;
+                tokei = int(tokei2) + (tokei2 - int(tokei2))*100.0f/60.0f;
+                
+                twe.printf("%d,%f,%f,%c,%d,%d\r\n",int(w_time),hokui,tokei,ew,quality,num);
+                gps_cnt = 0;
+                sw = 0;
+            }
+        }
+        gps_cnt++;
+        
+    }
+}
+
+
+