2018/06/18

Dependents:   library

Committer:
Tomo073
Date:
Fri Jun 29 04:25:20 2018 +0000
Revision:
4:41330399104d
Parent:
3:940fe222bab0
Child:
5:b97034d6df35
a;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Tomo073 0:2c0d50143d85 1 /*
Tomo073 0:2c0d50143d85 2
Tomo073 0:2c0d50143d85 3 GYSFDMAXB(GPS受信機1pps出力付きみちびき対応)用ライブラリ
Tomo073 0:2c0d50143d85 4 written by ST
Tomo073 2:578f518a6a05 5 緯度、経度、海抜、時間を出力
Tomo073 0:2c0d50143d85 6 他の処理と並行するなら割り込み処理を使用すべし
Tomo073 0:2c0d50143d85 7 ex:NVIC_SetPriority(UART2_IRQn,0); //0の部分で優先順位を決定
Tomo073 0:2c0d50143d85 8 readable == true のとき正しいデータが出力
Tomo073 0:2c0d50143d85 9
Tomo073 4:41330399104d 10 ※経度(lon)、緯度(lat)、海抜(alt)、時間(time)の読み方
Tomo073 3:940fe222bab0 11 lon,lat:dddmmss.ssss
Tomo073 3:940fe222bab0 12 ddd:度(1,2ケタの場合あり)
Tomo073 3:940fe222bab0 13 mm:分
Tomo073 3:940fe222bab0 14 ss:秒
Tomo073 0:2c0d50143d85 15
Tomo073 4:41330399104d 16 time:hhmm.mmmm
Tomo073 0:2c0d50143d85 17 hh.時
Tomo073 0:2c0d50143d85 18 mm.分
Tomo073 0:2c0d50143d85 19
Tomo073 2:578f518a6a05 20 alt:mm.mmmm
Tomo073 2:578f518a6a05 21
Tomo073 0:2c0d50143d85 22 ※機能
Tomo073 0:2c0d50143d85 23 ・GPS(TX,RX); コンストラクタ、ピン宣言
Tomo073 0:2c0d50143d85 24 ・GPS::attach(関数名); 割り込み処理設定
Tomo073 0:2c0d50143d85 25 ・GPS::GetDefault(); 編集前データ出力(char)
Tomo073 2:578f518a6a05 26 ・gps.GetData(); 編集データ出力(float gps.longtitude, float gps.latitude, float gps.time)
Tomo073 0:2c0d50143d85 27
Tomo073 0:2c0d50143d85 28 @code
Tomo073 0:2c0d50143d85 29 //----------------------------------------------------------------------------------------------------------------------------------------------------------
Tomo073 0:2c0d50143d85 30 //sample program(TERA TERMに出力)
Tomo073 0:2c0d50143d85 31 //----------------------------------------------------------------------------------------------------------------------------------------------------------
Tomo073 0:2c0d50143d85 32 #include "mbed.h"
Tomo073 0:2c0d50143d85 33 #include "GPS.h"
Tomo073 0:2c0d50143d85 34
Tomo073 0:2c0d50143d85 35 GPS gps(p28,p27); //(tx,rx)
Tomo073 0:2c0d50143d85 36 Serial pc(USBTX, USBRX);
Tomo073 0:2c0d50143d85 37
Tomo073 0:2c0d50143d85 38 void getGPS(){
Tomo073 0:2c0d50143d85 39 //NVIC_SetPriority(UART2_IRQn,0); //割り込み優先順位(必要に応じて)
Tomo073 2:578f518a6a05 40 gps.GetData(); //データ抽出
Tomo073 0:2c0d50143d85 41 if(gps.readable == true){
Tomo073 2:578f518a6a05 42 pc.printf("longtitude:%f latitude:%f altitude:%f time:%f\r\n", gps.longtitude, gps.latitude, gps.altitude, gps.time); //書き込み(経度、緯度、時間)
Tomo073 0:2c0d50143d85 43 }
Tomo073 0:2c0d50143d85 44 }
Tomo073 0:2c0d50143d85 45
Tomo073 0:2c0d50143d85 46 int main(){
Tomo073 2:578f518a6a05 47 //pc.baud(115200); //mbedのボーレート(必要に応じて)
Tomo073 0:2c0d50143d85 48 gps.attach(getGPS); //割り込み(関数名)
Tomo073 0:2c0d50143d85 49 while(1){
Tomo073 0:2c0d50143d85 50 //gps.GetDefault(); //元のデータ
Tomo073 0:2c0d50143d85 51 //pc.printf("%c",gps.datadefault); //書き込み
Tomo073 0:2c0d50143d85 52 }
Tomo073 0:2c0d50143d85 53 }
Tomo073 0:2c0d50143d85 54 //-------------------------------------------------------------------------------------------------------------------------------------------------------------
Tomo073 0:2c0d50143d85 55 @endcode
Tomo073 0:2c0d50143d85 56
Tomo073 0:2c0d50143d85 57 */
Tomo073 0:2c0d50143d85 58
Tomo073 0:2c0d50143d85 59 #ifndef GPS_H
Tomo073 0:2c0d50143d85 60 #define GPS_H
Tomo073 0:2c0d50143d85 61
Tomo073 0:2c0d50143d85 62 #include "mbed.h"
Tomo073 0:2c0d50143d85 63
Tomo073 0:2c0d50143d85 64 class GPS {
Tomo073 0:2c0d50143d85 65 public:
Tomo073 0:2c0d50143d85 66 GPS(PinName gpstx,PinName gpsrx);
Tomo073 0:2c0d50143d85 67
Tomo073 0:2c0d50143d85 68 bool readable;
Tomo073 0:2c0d50143d85 69 char datadefault;
Tomo073 4:41330399104d 70 long double longtitude, latitude, time, altitude, times;
Tomo073 0:2c0d50143d85 71
Tomo073 3:940fe222bab0 72 void attach(void(*fn)());
Tomo073 0:2c0d50143d85 73 void GetDefault();
Tomo073 2:578f518a6a05 74 void GetData();
Tomo073 0:2c0d50143d85 75
Tomo073 0:2c0d50143d85 76 private:
Tomo073 0:2c0d50143d85 77 Serial serial;
Tomo073 4:41330399104d 78 long double Minutes;
Tomo073 0:2c0d50143d85 79 void getstring(char DATA[]);
Tomo073 0:2c0d50143d85 80 void Initialization();
Tomo073 0:2c0d50143d85 81 };
Tomo073 0:2c0d50143d85 82
Tomo073 0:2c0d50143d85 83 #endif