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

📄 sentence.h

📁 一个很不错的GPS接收机源程序
💻 H
字号:
#ifndef __NMEA_SENTENCE_H__#define __NMEA_SENTENCE_H__#include "info.h"/** * NMEA PACK ENUM */enum nmeaPACKTYPE{    GPNON   = 0x0000,   /**<未知类型 */    GPGGA   = 0x0001,   /**< GGA */    GPGSA   = 0x0002,   /**< GSA */    GPGSV   = 0x0004,   /**< GSV */    GPRMC   = 0x0008,   /**< RMC*/    GPVTG   = 0x0010    /**< VTG */};/** * GGA (Global Positioning System Fix Data) 结构体 */typedef struct _nmeaGPGGA{     nmeaTIME utc_time;  	/**< UTC时间*/double  lat;        	/**< 纬度- [degree][min].[sec/60] */char    ns;         	/**< [N]orth or [S]outh */double  lon;        	/**< 经度- [degree][min].[sec/60] */    char    ew;         	/**< [E]ast or [W]est */    int     sig;        		/**< 定位指示 (0 = Invalid; 1 = Fix; 2 = Differential, 3 = Sensitive) */	int     satinuse;   		/**< 可用卫星数目*/    double  HDOP;      	/**< 水平精度因子*/    double  elv;        		/**< 海拔*/    char    elv_units;  		/**< 高度单位 */    double  diff;       		/**< */    char    diff_units; 		/**< [M]eters (Units of geoidal separation) */    double  dgps_age;   	/**< 差分时间 */    int     dgps_sid;   		/**< 差分站ID号*/} nmeaGPGGA;/** * GSA (Satellite status)结构体 */typedef struct _nmeaGPGSA{    char    fix_mode;   /**< 模式(M = Manual, forced to operate in 2D or 3D; A = Automatic, 3D/2D) */    int     fix_type;   	/**< 类型(1 = Fix not available; 2 = 2D; 3 = 3D) */    int     sat_prn[NMEA_MAXSAT]; /**< 可用卫星的PRNs码*/    double  PDOP;       /**< 精度残差 */    double  HDOP;       /**< 水平精度残差*/    double  VDOP;       /**< 垂直精度残差*/} nmeaGPGSA;/** * GSV (Satellites in view) 结构体 */typedef struct _nmeaGPGSV{    int     pack_count; /**< 消息包总数 */    int     pack_index; /**< 消息编号*/    int     sat_count;  /**< InView卫星总数*/    nmeaSATELLITE sat_data[NMEA_SATINPACK];} nmeaGPGSV;/** * RMC (Recommended Minimum sentence C) 结构体 */typedef struct _nmeaGPRMC{    nmeaTIME utc;       	/**< UTC时间 */    char    status;     		/**< 状态(A = active or V = void) */	double  lat;        	/**< 纬度- [degree][min].[sec/60] */    char    ns;         	/**< [N]orth or [S]outh */	double  lon;        	/**< 经度- [degree][min].[sec/60] */    char    ew;        	 	/**< [E]ast or [W]est */    double  speed;      	/**< 速度*/    double  direction;  		/**< 方向角度*/    double  declination;		/**< 倾斜角 */    char    declin_ew;  	/**< [E]ast or [W]est */    char    mode;       	/**< 模式 */} nmeaGPRMC;/** * VTG (Track made good and ground speed) 结构体 */typedef struct _nmeaGPVTG{    double  dir;        	/**< 运动角度 */    char    dir_t;      	/**< Fixed text 'T'*/    double  dec;       /**< 运动角度*/    char    dec_m;    	/**< Fixed text 'M' */    double  spn;      	/**< 地表速度,节*/    char    spn_n;     /**< Fixed text 'N' */    double  spk;       /**< 地表速度, 千米/小时*/    char    spk_k;     /**< Fixed text 'K' */} nmeaGPVTG;void nmea_zero_GPGGA(nmeaGPGGA *pack);void nmea_zero_GPGSA(nmeaGPGSA *pack);void nmea_zero_GPGSV(nmeaGPGSV *pack);void nmea_zero_GPRMC(nmeaGPRMC *pack);void nmea_zero_GPVTG(nmeaGPVTG *pack);#endif /* __NMEA_SENTENCE_H__ */

⌨️ 快捷键说明

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