Mbed library to get location informatiuon from GYSFDMAXB

Dependents:   nucleo_GPS_rev3 STM32_MR_include_IM_rev2

秋月電子のGPS受信機キット 1PPS出力付き 「みちびき」対応からデータを取得するためのライブラリです クラスを宣言した後、変数のlongtitude,latitudeを読むことでデータを取得できます。更新は自動です。 googleで検索できるdd.dddd°表記となっています。

Committer:
kim1212
Date:
Sun Jul 30 13:52:03 2017 +0000
Revision:
4:2bd79a04305a
Parent:
3:801a6efccd1e
????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kim1212 0:4cc88ba7719b 1 #ifndef GPS_H
kim1212 0:4cc88ba7719b 2 #define GPS_H
kim1212 0:4cc88ba7719b 3
kim1212 1:68601d2af8a5 4
kim1212 0:4cc88ba7719b 5
kim1212 0:4cc88ba7719b 6
kim1212 0:4cc88ba7719b 7 //GPS Library for GYSFDMAXB
kim1212 3:801a6efccd1e 8 /*
kim1212 3:801a6efccd1e 9 秋月電子にて販売されているGYSFDMAXB(GPS受信機1pps出力付きみちびき対応)用ライブラリです
kim1212 3:801a6efccd1e 10 Uartの受信割り込みを用いて、センテンスを受信し始めると自動的に処理を行い、緯度経度を計算します。
kim1212 0:4cc88ba7719b 11
kim1212 3:801a6efccd1e 12 ※注意 割り込み設定を行わないと正常に動作しません。mbedの場合は全ての割りこみが同じ優先順位なので優先順位の衝突が生じます
kim1212 3:801a6efccd1e 13 STMマイコンの場合は、
kim1212 3:801a6efccd1e 14 NVIC_SetPriority(USART3_IRQn,2);
kim1212 3:801a6efccd1e 15 などとmain内に追加します。usart3とは、Serial3_TXとSerial3_RXを使っているためです。Serial1_TX,RXを使用するなら、usart1と入れてください
kim1212 3:801a6efccd1e 16 '2'は、優先順位のことです。mbedではデフォルトで全て2に設定されています(stmマイコンの場合)。0が一番優先順位が高く、1,2,3の順に低くなります。
kim1212 3:801a6efccd1e 17
kim1212 3:801a6efccd1e 18
kim1212 3:801a6efccd1e 19
kim1212 3:801a6efccd1e 20
kim1212 3:801a6efccd1e 21 */
kim1212 3:801a6efccd1e 22
kim1212 3:801a6efccd1e 23 #define GPSTX p28//GPSのTXピン
kim1212 3:801a6efccd1e 24 #define GPSRX p27//GPSのRXピン
kim1212 0:4cc88ba7719b 25 #define GPSBAUD 115200//GPSのボーレート
kim1212 0:4cc88ba7719b 26 #define ODR 10//max 10Hz 更新周期
kim1212 0:4cc88ba7719b 27
kim1212 0:4cc88ba7719b 28 class GPS {
kim1212 0:4cc88ba7719b 29 public:
kim1212 0:4cc88ba7719b 30 GPS(PinName gpstx,PinName gpsrx);
kim1212 0:4cc88ba7719b 31
kim1212 0:4cc88ba7719b 32 void gpscmd(char *command);
kim1212 0:4cc88ba7719b 33 void getgps();
kim1212 0:4cc88ba7719b 34
kim1212 0:4cc88ba7719b 35 float longtitude;//緯度
kim1212 0:4cc88ba7719b 36 float latitude;//経度
kim1212 0:4cc88ba7719b 37 //上の二つは自動的に更新される この二つを読むことでデータ取得が出来る
kim1212 0:4cc88ba7719b 38
kim1212 0:4cc88ba7719b 39 bool result;//trueで成功、falseで失敗
kim1212 0:4cc88ba7719b 40 char buf[100];
kim1212 0:4cc88ba7719b 41
kim1212 0:4cc88ba7719b 42 private:
kim1212 0:4cc88ba7719b 43 Serial _gps;
kim1212 0:4cc88ba7719b 44 };
kim1212 0:4cc88ba7719b 45
kim1212 0:4cc88ba7719b 46 #endif