mbed用GPSモジュール利用プログラム for IZU 割り込みを利用し、自動的に内部変数へ座標などのデータが更新されるようになっている。そのため、好きなタイミングで専用関数により値を取得できる。

Dependencies:   GPS_interrupt mbed

Committer:
Gaku0606
Date:
Mon Jan 02 00:43:18 2017 +0000
Revision:
1:1d1b6b0396d1
Child:
2:c05887794ff5
2017??????????????????????????????; @GPS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Gaku0606 1:1d1b6b0396d1 1 #include "mbed.h"
Gaku0606 1:1d1b6b0396d1 2 #include "GPS_interrupt.h"
Gaku0606 1:1d1b6b0396d1 3 Serial pc(USBTX, USBRX);
Gaku0606 1:1d1b6b0396d1 4 RawSerial mygps(p9, p10);
Gaku0606 1:1d1b6b0396d1 5
Gaku0606 1:1d1b6b0396d1 6 GPS_interrupt gps(&mygps, 9600);
Gaku0606 1:1d1b6b0396d1 7
Gaku0606 1:1d1b6b0396d1 8 int main() {
Gaku0606 1:1d1b6b0396d1 9
Gaku0606 1:1d1b6b0396d1 10 pc.baud(115200);
Gaku0606 1:1d1b6b0396d1 11 mygps.baud(9600);
Gaku0606 1:1d1b6b0396d1 12
Gaku0606 1:1d1b6b0396d1 13 pc.printf("%d Hz\r\n", SystemCoreClock );
Gaku0606 1:1d1b6b0396d1 14
Gaku0606 1:1d1b6b0396d1 15 wait(3.0);
Gaku0606 1:1d1b6b0396d1 16 while(1){
Gaku0606 1:1d1b6b0396d1 17 //if(gps.gps_readable){
Gaku0606 1:1d1b6b0396d1 18 double xy[2] = {0};
Gaku0606 1:1d1b6b0396d1 19 float utc[6] = {0};
Gaku0606 1:1d1b6b0396d1 20 gps.getPosition(xy);
Gaku0606 1:1d1b6b0396d1 21 gps.getUTC(utc);
Gaku0606 1:1d1b6b0396d1 22 pc.printf("%d 年 %d 月 %d 日 %d 時 %d 分 %02.2f 秒 ",(int)utc[0],(int)utc[1], (int)utc[2], (int)utc[3], (int)utc[4] ,utc[5]);
Gaku0606 1:1d1b6b0396d1 23 pc.printf("lon %f\tlat %f\r\n",xy[0], xy[1]);
Gaku0606 1:1d1b6b0396d1 24 wait(0.10);
Gaku0606 1:1d1b6b0396d1 25 // gps.gps_readable = false;
Gaku0606 1:1d1b6b0396d1 26 //}
Gaku0606 1:1d1b6b0396d1 27
Gaku0606 1:1d1b6b0396d1 28 }
Gaku0606 1:1d1b6b0396d1 29 }