📄 nmea0183.h
字号:
///////////////////////////////////////////////////////////////////////////////
// Nmea0183.h: interface for the CNmea0183 class
//
// Copyright (c) 2004,上海合众思壮科技有限责任公司GIS部
//
// All rights reserved
//
// 文件名称:Nmea0183.h
//
// 摘要 :Nmea0183协议类
//
// 作者 :Hansom
//
// 当前版本:1.1
//
// 完成日期:2004年04月12日
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_NMEA0183_H__251617C4_9697_46D7_B200_C4C5BFED4BCA__INCLUDED_)
#define AFX_NMEA0183_H__251617C4_9697_46D7_B200_C4C5BFED4BCA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "GpsComm.h"
const double Knot2Meter = 1.851985; // 节->公里/小时
const long SAT_NUMBER = 20; // 定义卫星数
const long SAT_ID_NUMBER = 12; // 定义卫星ID数目
///////////////////////////////////////////////////////////////////////////////
// GPS主要数据结构体
struct ST_GPS_DATA
{
BYTE byFixType; // 定位标志,0-no fixed,1-fixed.
BOOL bIsAzimuth; // 方位角无效
double dbLat; // 纬度
double dbLong; // 经度
double dbSpeed; // 相对于地面的速度
double dbAzimuth; // 方位角
SYSTEMTIME UtcTime; // utc时间
double dbAlt; // 海拔高度
};
///////////////////////////////////////////////////////////////////////////////
// 定位解算精度的几何图形(DOP)数据
struct ST_DOP_DATA
{
double dbPdop; // PDOP值
double dbHdop; // HDOP值
double dbVdop; // VDOP值
int nNum; // 锁定卫星个数
int nUsedID[SAT_ID_NUMBER]; // 锁定卫星id
};
///////////////////////////////////////////////////////////////////////////////
// 卫星数据
struct ST_SAT_DATA
{
int nSatID; // 卫星编号
int nElevation; // 仰角
int nAzimuth; // 方位角
int nSNR; // 信噪比.0~99,-1为无效
BOOL bUsed;
};
///////////////////////////////////////////////////////////////////////////////
class CNmea0183 : public CGpsComm
{
public:
CNmea0183();
virtual ~CNmea0183();
public:
// 从接收缓冲区的数据搜索完整一帧,并将其转换为具体的数据结构
virtual int SearchOneFrame(char *pchRevBuf, const int nRevLen, int &nReadPtr,
const int nWritePtr, ST_MSG *pMsg);
private:
// 判断数据检验是否正确,如果正确则生成具体数据结构
BOOL ProOneFrm(ST_MSG *pMsg);
double GetCoor(const double dbIn)const;
private:
ST_SAT_DATA m_SatData[SAT_NUMBER];
ST_GPS_DATA m_GpsData;
int m_nAllSatNum;
int m_nRevSatNum;
int m_nRevFrmNum;
char *m_pchProBuf;
int m_nWritePtr;
};
#endif // !defined(AFX_NMEA0183_H__251617C4_9697_46D7_B200_C4C5BFED4BCA__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -