📄 drv_gps.h
字号:
/*********************************************************************************************************
** uC/OS 2 FOR PHILIP LPC21XX
** The Real-Time Kernel(For ADS1.2)
**
**
** V0.00.1
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: Drv_GPS.H
**创 建 人: 龚树强
**最后修改日期: 2005年5月2日
**描 述: 串口0驱动程序头文件
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 龚树强
** 版 本: V0.01.1
** 日 期: 2005年5月2日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __DRV_GPS_H__
#define __DRV_GPS_H__
/*******************************************************************************
********************* 常 量 定 义 ************************
********************************************************************************/
#define GPS_RX_BUF_SIZE 32
#define GPS_NMEA_TYPE_SEG_OFFSET 1
#define GPS_MOTO_TYPE_SEG_OFFSET 2
#define GPS_NMEA_TYPE_SEG 0
#define GPS_MOTO_TYPE_SEG 0
#define GPS_NMEA_FORMAT 0xAA
#define GPS_MOTO_FORMAT 0x55
#define GPS_NMEA_GLL 1
#define GPS_NMEA_GGA 2
#define GPS_NMEA_VTG 3
#define GPS_NMEA_RMC 4
#define GPS_NMEA_GSA 5
#define GPS_NMEA_ASV 6
#define GPS_MOTO_Ea 1
/*******************************************************************************
********************* 变 量 定 义 ************************
********************************************************************************/
extern void *GPS_RX_Buf[GPS_RX_BUF_SIZE];
extern OS_STK STK_GPS_INTERPRETER[TASK_STK_SIZE/2];
extern OS_EVENT *GPS_RX_Q;
typedef struct time
{
INT8U hour;
INT8U min;
INT8U sec;
INT16U msec;
}TIME;
typedef struct date
{
INT8U date;
INT8U month;
INT16U year;
}DATE;
typedef struct speed
{
INT16U dir;
INT16U value;
}SPEED;
typedef struct magnetism
{
INT8U dir;
INT16U value;
}MAG;
typedef struct sat_state
{
INT8U visible;
INT8U tracked;
}SAT_STATE;
typedef struct chanel_state
{
INT8U sat_NO;
INT8U track_mode;
INT8U CN;
INT8U chanel_state;
}CHANEL_STATE;
typedef struct position
{
INT8U dir;
INT8U dec;
INT8U min;
INT16U mmin;
}POSITION;
typedef struct gps_data
{
TIME time;
DATE date;
POSITION latitude;
POSITION longitude;
INT32U altitude;
SPEED spd;
MAG mag;
INT8U state;
INT8U mode;
SAT_STATE sat_state;
CHANEL_STATE chanel_state[8];
INT8U checksum;
}GPS_DATA;
typedef struct gps_cntl
{
INT32U msg_mask;
OS_EVENT *dest;//转发目的地
}GPS_CNTL;
extern GPS_CNTL GpsCntl;
extern GPS_DATA GpsData;
/*********************************************************************************************************
** 函数名称: GPS_Init
** 功能描述: GPS初始化函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GPS_Init(void) reentrant;
/*********************************************************************************************************
** 函数名称: GPS_NMEA_TypeCheck
** 功能描述: GPS NMEA格式类型检查函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
INT8U GPS_NMEA_TypeCheck(INT8U rx,INT8U *prx_counter) reentrant;
/*********************************************************************************************************
** 函数名称: GPS_NMEA_GLL_Interpreter
** 功能描述: GPS NMEA格式GLL包解释函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GPS_NMEA_GLL_Interpreter(INT8U rx,INT8U *prx_counter) reentrant;
/*********************************************************************************************************
** 函数名称: GPS_NMEA_GAA_Interpreter
** 功能描述: GPS NMEA格式GAA包解释函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GPS_NMEA_GAA_Interpreter(INT8U rx,INT8U *prx_counter) reentrant;
/*********************************************************************************************************
** 函数名称: GPS_NMEA_VTG_Interpreter
** 功能描述: GPS NMEA格式GLL包解释函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GPS_NMEA_VTG_Interpreter(INT8U rx,INT8U *prx_counter) reentrant;
/*********************************************************************************************************
** 函数名称: GPS_NMEA_GSA_Interpreter
** 功能描述: GPS NMEA格式RMC包解释函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GPS_NMEA_GSA_Interpreter(INT8U rx,INT8U *prx_counter) reentrant;
/*********************************************************************************************************
** 函数名称: GPS_NMEA_ASV_Interpreter
** 功能描述: GPS NMEA格式RMC包解释函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GPS_NMEA_ASV_Interpreter(INT8U rx,INT8U *prx_counter) reentrant;
/*********************************************************************************************************
** 函数名称: Task_GPS_Interpreter
** 功能描述: GPS包处理函数
** 输 入: void *pData
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年1月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Task_GPS_Interpreter(void *pData) reentrant;
#endif /*__UART0_H__*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -