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

📄 gps.h

📁 使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发程序.供UART和AT指令编程者参考
💻 H
字号:
/******************************************************************************
MODE:		AML--#GPS+accelerator+compass
MCU:		Cyan eCOG1k
COMPILER:	CyanIDE v1.41
FILE NAME:	GPS head files
******************************************************************************/
#ifndef	gps_parameter_h
#define gps_parameter_h

//------------------------------------------------------------
#ifndef gps_code
	#define gps_ext extern
#else
	#define gps_ext
#endif	//gps_code
/******************************************************************************
Project level include files.
******************************************************************************/
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <math.h>
#include <ecog.h>
#include <ecog1.h>
#include "cyan_base_driver.h"

/******************************************************************************
Private constants and types.
******************************************************************************/
#define TEMP_BUF_SIZE			128
#define RX_BUF_SIZE				128	    // Receive buffer size

#define CR						'\r'
#define LF						'\n'

#define OTHER					0


#define RMC_TIME				1
#define RMC_WORK_STATE			2
#define RMC_LATITUDE			3
#define RMC_LATITUDE_ASPECT		4
#define RMC_LONGITUDE			5
#define RMC_LONGITUDE_ASPECT	6
#define RMC_SPEED				7
#define RMC_ASPECT				8
#define RMC_DATE				9
#define RMC_SUN_DATA1			10
#define RMC_SUN_DATA2			11
#define RMC_CHECKSUM			12
#define RMC_OTHER				13


#define GGA_TIME				1
#define GGA_LATITUDE			2
#define GGA_LATITUDE_ASPECT		3
#define GGA_LONGITUDE			4
#define GGA_LONGITUDE_ASPECT	5
#define GGA_QUALITY				6
#define GGA_STAR_SUM			7
#define GGA_LEVEL_PRECISION		8
#define GGA_ANTENNA_HEIGHT		9
#define GGA_AH_UNIT				11
#define GGA_EARTH_HEIGHT		12
#define GGA_EH_UNIT				13
#define GGA_UN_USE1				14
#define GGA_CHECKSUM			15
#define GGA_OTHER				16

#define GSV_SUM					1
#define GSV_ITEM				2
#define GSV_UN_USE				3
#define GSV_CHECKSUM			4
#define GSV_OTHER				5

#define GSA_MODE				1
#define GSA_STATE				2
#define GSA_UN_USE				3
#define GSA_CHECKSUM			4
#define GSA_OTHER				5

#define _GPGGA_					1
#define _GPGSA_					2
#define _GPGSV_					3
#define _GPRMC_					4
#define _OTHER_					5
#define _GPHAD_					6
#define _GPEND_					7

#define GSA_UN_USE_LENGTH		54
#define GSV_UN_USE_LENGTH		60

#define TX_GPGGA				1
#define TX_GPGSA				2
#define TX_GPGSV1				3
#define TX_GPGSV2				4
#define TX_GPGSV3				5
#define TX_GPGSV4				6
#define TX_GPRMC				7
#define TX_OTHER				8

/******************************************************************************
Global variables.
******************************************************************************/

typedef struct
{
	char head[7];
	
	char UTC_timer[10];				//(1)
	char latitude[10];				//(2)
	char latitude_aspect[2];		//(3)
	char longitude[11];				//(4)
	char longitude_aspect[2];		//(5)
	char quality[2];				//(6)
	char star_sum[3];				//(7)
	char level_precision[5];		//(8)
	char antenna_height[9];			//(9)//evan : +/-???
	char AH_unit[2];				//
	char earth_height[7];			//(10)
	char EH_unit[2];				//
	char un_use1[5];					//(11)//(12)
	
	char end_flag;
	char checksum[2];
	char CR_LF[2];
}GPS_GPGGA;
/*
typedef struct
{
	char head[7];
	
	char wrok_mode[2];
	char position_MSG[2];
	char star_ID1[3];
	char star_ID2[3];
	char star_ID3[3];
	char star_ID4[3];
	char star_ID5[3];
	char star_ID6[3];
	char star_ID7[3];
	char star_ID8[3];
	char star_ID9[3];
	char star_ID10[3];
	char star_ID11[3];
	char star_ID12[3];
	char position_precision[5];
	char plumb_precision[5];
	char level_precision[5];
	
	char end_flag;
	char checksum[2];
	char CR_LF[2];
	
}GPS_GPGSA;
*/
typedef struct
{
	char head[7];
	
	char wrok_mode[2];
	char position_MSG[2];
	
	char un_use[GSA_UN_USE_LENGTH];
	
	char end_flag;
	char checksum[2];
	char CR_LF[2];
	
}GPS_GPGSA;

typedef struct
{
	char head[7];
	
	char GSV_sum[2];
	char GSV_item[2];
	
	char un_use[GSV_UN_USE_LENGTH];//55
	
	char end_flag;
	char checksum[2];
	char CR_LF[2];
	
}GPS_GPGSV;

typedef struct
{
	char head[7];
	
	char UTC_timer[10];				//(1)
	char work_state[2];				//(2)
	char latitude[10];				//(3)
	char latitude_aspect[2];		//(4)
	char longitude[11];				//(5)
	char longitude_aspect[2];		//(6)
	char speed[6];					//(7)
	char bearing_pointer[6];		//(8)
	char UTC_date[7];				//(9)
	char sun_data1[6];				//(10)
	char sun_data2[4];					//(11)
	
	char end_flag;
	char checksum[2];
	char CR_LF[2];
	
}GPS_GPRMC;
/*
typedef struct
{
	GPS_GPGGA		GPGGA;
	GPS_GPGSA		GPGSA;
	GPS_GPGSV		GPGSV[4];
	GPS_GPRMC		GPRMC;
	char			_end_;
	
}GPS_frame;
*/

gps_ext GPS_GPRMC	GPRMC;
gps_ext GPS_GPGSA	GPGSA;
gps_ext GPS_GPGGA	GPGGA;
gps_ext GPS_GPGSV	GPGSV1;
gps_ext GPS_GPGSV	GPGSV2;
gps_ext GPS_GPGSV	GPGSV3;
gps_ext GPS_GPGSV	GPGSV4;

gps_ext char				_GSV_sum_[2];
gps_ext char				_GSV_TX_sum_;

gps_ext char				_GSV_item_[2];
gps_ext GPS_GPGSV			*GSV_pointer;

gps_ext unsigned int 		group_receive_done_flag;			// Receive buffer


gps_ext char				string_head_buf[6];

gps_ext char 				*GPS_data_buf;
gps_ext unsigned int 		data_length;

gps_ext char 				checksum;
gps_ext char 				c1;
gps_ext char 				c2;
gps_ext char 				c;
gps_ext unsigned int 		receive_buffer_count;
gps_ext unsigned int 		GPS_TX_count;

gps_ext unsigned int 		GPS_read_data_poiter;

gps_ext unsigned int 		GPS_TX_ready_flag;
gps_ext unsigned int 		GPS_TX_gradation_flag;

gps_ext char				*GPGGA_TX_pointer;
gps_ext char				*GPGSA_TX_pointer;
gps_ext char				*GPGSV1_TX_pointer;
gps_ext char				*GPGSV2_TX_pointer;
gps_ext char				*GPGSV3_TX_pointer;
gps_ext char				*GPGSV4_TX_pointer;
gps_ext char				*GPRMC_TX_pointer;

gps_ext unsigned int 		receive_flag;
gps_ext unsigned int 		str_head_flag;

gps_ext unsigned int		GPS_error_count;

gps_ext char gps_state;


/******************************************************************************
Declaration of extern functions.
******************************************************************************/
gps_ext void display_gps_data(void);
gps_ext void gps_initialization(void);

/******************************************************************************
end
******************************************************************************/
#endif //gps_parameter_h

⌨️ 快捷键说明

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