⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpscomm.h

📁 该程序主要功能是获取gps数据,并且提供解析功能,运行ppc2003下,开发导航系统,或者定位系统的同仁们,可以参考一下.
💻 H
字号:
// GpsComm.h: interface for the CGpsComm class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GPSCOMM_H__09552B8E_6732_11D5_B9D8_00E0988B7E30__INCLUDED_)
#define AFX_GPSCOMM_H__09552B8E_6732_11D5_B9D8_00E0988B7E30__INCLUDED_
#define	MASPERDEGREE	3600000
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MaxInfoBlock 128	// 定义每个缓冲最大的字符数量为128
////////////////////////////////////////////////////////
//常量定义
////////////////////////////////////////////////////////
#define	CONST_CR	unsigned char(0x0d)	//回车
#define	CONST_LF	unsigned char(0x0a)	//换行
#define CONST_CM	unsigned char(0x0a)	//','
#define	CONST_GGA	11
#define	CONST_GLL	12
#define	CONST_GSA	13
#define	CONST_GSV	14
#define	CONST_RMC	15
#define	CONST_VTG	16
//#include "CommonTest.h"
//##ModelId=3FE8F86C0003
typedef struct	GPSInfo
	{
		int		x;			//地图x坐标
		int		y;			//地图y坐标
		float	Velocity;	//速度
		float	Direction;	//方向
		double	Lon;		//经度
		double	Lat;		//纬度
		double	Height;		//高度
		int		SatNum;		//卫星数量
		BOOL	TribD;		//3维定位
		WORD	Year;		//年
		BYTE	Month;		//月
		BYTE	Day;		//日
		BYTE	Hour;		//时
		BYTE	Minute;		//分
		BYTE	Second;		//秒
		BYTE	ValidFlag;	//合法标志
		float	DOP;
		float	HDOP;
		float	VDOP;
	}	CGPSInfo;//(24 Byte)


class CGpsComm  
{
public:
	//CCarNavigationDoc	*pDoc;
public:
	//##ModelId=3FE8F86C0017
//	static BOOL  CheckDataValid(CGPSInfo &GPSInfo);
	//##ModelId=3FE8F86C0023
	static void ProcessGSA(BYTE *pBuf, CGPSInfo &GPSInfo);	// 处理GSA包
	//##ModelId=3FE8F86C0035
	static void ProcessRMC(BYTE *pBuf, CGPSInfo &GPSInfo);	// 处理RMC包
	//##ModelId=3FE8F86C0049
	static void ProcessGGA(BYTE *pBuf, CGPSInfo &GPSInfo); // 处理GGA包
	//int m_nOKGPS;
	//##ModelId=3FE8F86C0054
	static unsigned char  GetTrackSatNumFromInfo(void *pVoid);
	//##ModelId=3FE8F86C0067
	static unsigned char  GetSeeSatNumFromInfo(void *pVoid);
	//##ModelId=3FE8F86C0073
	static int  ProcessData(void *pVoid, int Len);
	//##ModelId=3FE8F86C0086
	static float  GetDirectionFromInfo(void *pBuf);		//获得方向
	//##ModelId=3FE8F86C009A
	static float  GetVelocityFromInfo(void *pBuf);		//获得速度
	//##ModelId=3FE8F86C00AE
	static float  GetHeightFromInfo(void *pBuf);		//获得高度
	//##ModelId=3FE8F86C00C2
	static double  GetLongitudeFromInfo(void *pBuf);	//获得经度
	//##ModelId=3FE8F86C00D6
	static double  GetLatitudeFromInfo(void *pBuf);		//获得纬度
	//##ModelId=3FE8F86C00EA
	static long  GetMiniSecondFromInfo(void *pVoid);	//获得秒的小数部分
	//##ModelId=3FE8F86C0108
	static unsigned char  GetSecondFromInfo(void *pBuf);//获得秒
	//##ModelId=3FE8F86C011C
	static unsigned char  GetMinuteFromInfo(void *pBuf);//获得分
	//##ModelId=3FE8F86C013A
	static unsigned char  GetHourFromInfo(void *pVoid);	//获得时
	//##ModelId=3FE8F86C0158
	static long  GetYearFromInfo(void *pVoid);			//获得年
	//##ModelId=3FE8F86C016C
	static unsigned char  GetDayFromInfo(void *pVoid);	//获得日
	//##ModelId=3FE8F86C018A
	static unsigned char  GetMonthFromInfo(void *pVoid);//获得月
	//##ModelId=3FE8F86C01A8
	static int CheckCommand(void	*pVoid, int *Len);	//检查是否已经获得一条完整的命令
	//##ModelId=3FE8F86C01BC
	static int  GetStatusFromInfo(void *pVoid);
	//##ModelId=3FE8F86C01C7
	CGpsComm();
	//##ModelId=3FE8F86C01DA
	virtual ~CGpsComm();
};

#endif // !defined(AFX_GPSCOMM_H__09552B8E_6732_11D5_B9D8_00E0988B7E30__INCLUDED_)

⌨️ 快捷键说明

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