mbed用GPSモジュール利用プログラム for IZU 割り込みを利用し、自動的に内部変数へ座標などのデータが更新されるようになっている。そのため、好きなタイミングで専用関数により値を取得できる。
Dependencies: GPS_interrupt mbed
Hybrid_interruptGPS.cpp@1:1d1b6b0396d1, 2017-01-02 (annotated)
- 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?
User | Revision | Line number | New 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 | } |