2018/06/18
GPS.h@3:940fe222bab0, 2018-06-13 (annotated)
- Committer:
- Tomo073
- Date:
- Wed Jun 13 06:54:42 2018 +0000
- Revision:
- 3:940fe222bab0
- Parent:
- 2:578f518a6a05
- Child:
- 4:41330399104d
?;
Who changed what in which revision?
User | Revision | Line number | New 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 | 2:578f518a6a05 | 10 | ※経度、緯度、海抜、時間の読み方 |
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 | 0:2c0d50143d85 | 16 | time:hhmmss.000000 |
Tomo073 | 0:2c0d50143d85 | 17 | hh.時 |
Tomo073 | 0:2c0d50143d85 | 18 | mm.分 |
Tomo073 | 0:2c0d50143d85 | 19 | ss.秒 |
Tomo073 | 0:2c0d50143d85 | 20 | |
Tomo073 | 2:578f518a6a05 | 21 | alt:mm.mmmm |
Tomo073 | 2:578f518a6a05 | 22 | |
Tomo073 | 0:2c0d50143d85 | 23 | ※機能 |
Tomo073 | 0:2c0d50143d85 | 24 | ・GPS(TX,RX); コンストラクタ、ピン宣言 |
Tomo073 | 0:2c0d50143d85 | 25 | ・GPS::attach(関数名); 割り込み処理設定 |
Tomo073 | 0:2c0d50143d85 | 26 | ・GPS::GetDefault(); 編集前データ出力(char) |
Tomo073 | 2:578f518a6a05 | 27 | ・gps.GetData(); 編集データ出力(float gps.longtitude, float gps.latitude, float gps.time) |
Tomo073 | 0:2c0d50143d85 | 28 | |
Tomo073 | 0:2c0d50143d85 | 29 | @code |
Tomo073 | 0:2c0d50143d85 | 30 | //---------------------------------------------------------------------------------------------------------------------------------------------------------- |
Tomo073 | 0:2c0d50143d85 | 31 | //sample program(TERA TERMに出力) |
Tomo073 | 0:2c0d50143d85 | 32 | //---------------------------------------------------------------------------------------------------------------------------------------------------------- |
Tomo073 | 0:2c0d50143d85 | 33 | #include "mbed.h" |
Tomo073 | 0:2c0d50143d85 | 34 | #include "GPS.h" |
Tomo073 | 0:2c0d50143d85 | 35 | |
Tomo073 | 0:2c0d50143d85 | 36 | GPS gps(p28,p27); //(tx,rx) |
Tomo073 | 0:2c0d50143d85 | 37 | Serial pc(USBTX, USBRX); |
Tomo073 | 0:2c0d50143d85 | 38 | |
Tomo073 | 0:2c0d50143d85 | 39 | void getGPS(){ |
Tomo073 | 0:2c0d50143d85 | 40 | //NVIC_SetPriority(UART2_IRQn,0); //割り込み優先順位(必要に応じて) |
Tomo073 | 2:578f518a6a05 | 41 | gps.GetData(); //データ抽出 |
Tomo073 | 0:2c0d50143d85 | 42 | if(gps.readable == true){ |
Tomo073 | 2:578f518a6a05 | 43 | pc.printf("longtitude:%f latitude:%f altitude:%f time:%f\r\n", gps.longtitude, gps.latitude, gps.altitude, gps.time); //書き込み(経度、緯度、時間) |
Tomo073 | 0:2c0d50143d85 | 44 | } |
Tomo073 | 0:2c0d50143d85 | 45 | } |
Tomo073 | 0:2c0d50143d85 | 46 | |
Tomo073 | 0:2c0d50143d85 | 47 | int main(){ |
Tomo073 | 2:578f518a6a05 | 48 | //pc.baud(115200); //mbedのボーレート(必要に応じて) |
Tomo073 | 0:2c0d50143d85 | 49 | gps.attach(getGPS); //割り込み(関数名) |
Tomo073 | 0:2c0d50143d85 | 50 | while(1){ |
Tomo073 | 0:2c0d50143d85 | 51 | //gps.GetDefault(); //元のデータ |
Tomo073 | 0:2c0d50143d85 | 52 | //pc.printf("%c",gps.datadefault); //書き込み |
Tomo073 | 0:2c0d50143d85 | 53 | } |
Tomo073 | 0:2c0d50143d85 | 54 | } |
Tomo073 | 0:2c0d50143d85 | 55 | //------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Tomo073 | 0:2c0d50143d85 | 56 | @endcode |
Tomo073 | 0:2c0d50143d85 | 57 | |
Tomo073 | 0:2c0d50143d85 | 58 | */ |
Tomo073 | 0:2c0d50143d85 | 59 | |
Tomo073 | 0:2c0d50143d85 | 60 | #ifndef GPS_H |
Tomo073 | 0:2c0d50143d85 | 61 | #define GPS_H |
Tomo073 | 0:2c0d50143d85 | 62 | |
Tomo073 | 0:2c0d50143d85 | 63 | #include "mbed.h" |
Tomo073 | 0:2c0d50143d85 | 64 | |
Tomo073 | 0:2c0d50143d85 | 65 | class GPS { |
Tomo073 | 0:2c0d50143d85 | 66 | public: |
Tomo073 | 0:2c0d50143d85 | 67 | GPS(PinName gpstx,PinName gpsrx); |
Tomo073 | 0:2c0d50143d85 | 68 | |
Tomo073 | 0:2c0d50143d85 | 69 | bool readable; |
Tomo073 | 0:2c0d50143d85 | 70 | char datadefault; |
Tomo073 | 0:2c0d50143d85 | 71 | float longtitude, latitude, time, altitude, times; |
Tomo073 | 0:2c0d50143d85 | 72 | |
Tomo073 | 3:940fe222bab0 | 73 | void attach(void(*fn)()); |
Tomo073 | 0:2c0d50143d85 | 74 | void GetDefault(); |
Tomo073 | 2:578f518a6a05 | 75 | void GetData(); |
Tomo073 | 0:2c0d50143d85 | 76 | |
Tomo073 | 0:2c0d50143d85 | 77 | private: |
Tomo073 | 0:2c0d50143d85 | 78 | Serial serial; |
Tomo073 | 3:940fe222bab0 | 79 | float fMinutes; |
Tomo073 | 0:2c0d50143d85 | 80 | void getstring(char DATA[]); |
Tomo073 | 0:2c0d50143d85 | 81 | void Initialization(); |
Tomo073 | 0:2c0d50143d85 | 82 | }; |
Tomo073 | 0:2c0d50143d85 | 83 | |
Tomo073 | 0:2c0d50143d85 | 84 | #endif |