gps.h

来自「自己封装的能解析出GPS数据中的$GPRMC数据」· C头文件 代码 · 共 62 行

H
62
字号
// GPS.h: interface for the GPS class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GPS_H__A0CD092D_22FB_4F4D_ADE2_7B0F3C18DA57__INCLUDED_)
#define AFX_GPS_H__A0CD092D_22FB_4F4D_ADE2_7B0F3C18DA57__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

 /*typedef struct tagGPRMC
	 {
		 char time[20];
		 char statu[5];
		 char latitude[20];
		 char southornorth[5];
		 char longitude[20];
		 char eastorwest[5];
		 char high[10];
		 char director[10];
		 char date[20];
		 char magic[10];
		 char magicdirtor[5];
	 }GPRMCHead, * LP_GPRMC_Head;*/
typedef struct tagGPRMC
{
 char time[11];     //时间(hhmmss格式). 
 char statu[2];     //位状态(A = 有效定位,V=无效定位). 
 char latitude[11];     //度ddmm.mmmm格式. 
 char southornorth[2];  //方向. 
 char longitude[11];        //经度dddmm.mmmm(度分)格式. 
 char eastorwest[2];     //方向. 
 char high[10];    //地面速率. 
 char director[5];    //地面航向. 
 char date[8];     //UTC日期 ddmmyy. 
 char magic[10];    //磁偏角 000.0-359.9. 
 char magicdirtor[2];   //磁偏角方向E or W. 
}GPRMCHead, *LP_GPRMC_Head;

class GPS  
{
public:
	GPS();
	virtual ~GPS();
public:
	void checkNULL();
	void gpsGPRMC();
	void getString(char strChar[]);
	DWORD WINAPI analyseGPSProc(LPVOID); //analyse gps data
	void getStringEnd(char stopcn, char backstr[]);
public:
	void analyseDateTime();
    char gpsMessage[1024];
	volatile int buffHead;
    volatile int buffEnd;
	GPRMCHead gpsMCSignal;

};

#endif // !defined(AFX_GPS_H__A0CD092D_22FB_4F4D_ADE2_7B0F3C18DA57__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?