实际轮询解析NMEA命令中的时间信息是否存在,是否变化,由此判定是否为有效数据包,是否为同一数据包中的命令
#ifndef _PACKAGE_H_
#define _PACKAGE_H_
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include "Type.h"
#include "Operation.h"
int Package(char *state)
{
int signal;
static u32 time;
static u32 date;
static u32 htime;
static u32 hdate;
static int avail = 0;/*数据包有效性*/
static int packg = 0;/*封包标志*/
u8 step;
if(strstr(state,"$GNRMC"))
{
step = NMEA_Comma_Pos((u8*)state, 1);
time = NMEA_Str2num((u8*)state + step) / 100;
step = NMEA_Comma_Pos((u8*)state, 9);
date = NMEA_Str2num((u8*)state + step);
}
if(strstr(state,"$GNVTG"))
{
}
if(strstr(state,"$GNGGA"))
{
step = NMEA_Comma_Pos((u8*)state, 1);
time = NMEA_Str2num((u8*)st