static bit NMEA_CMD_Start=0; //NMEA 语句开始. 检测到 $ 时置 1
static bit ReciveFlag=0; //数据接收完成. 最后一条 GPRMC 语句发送完毕置 1,
static u8 ucTempA=0; //存储解析两位数字用的的十位临时变量
static u8 SateInfoIndex=0; //
//static u8 ucTemp[5];
stru_GPSRMC xdata GPS_RMC_Data;
stru_GPSGGA xdata GPS_GGA_Data;
stru_GPSGSA xdata GPS_GSA_Data;
stru_GPSGSV xdata GPS_GSV_Data;
void GPSSateDataInit(void)
{
u8 i;
for(i=0;i<12;i++)
{
GPS_GSV_Data.SatInfo[i].SatID=0x00;
GPS_GSA_Data.HDOP[0]=0x01;
GPS_GSA_Data.HDOP[1]=0x01;
GPS_GSA_Data.HDOP[2]=0x01;
GPS_GSA_Data.HDOP[3]=0x01;
}
}
void ShowGPSTime(u8 ucLX,u8 ucLY)
{
GPS_RMC_Data.UTCDateTime[3]+=8;
if (GPS_RMC_Data.UTCDateTime[3]>23)
{
GPS_RMC_Data.UTCDateTime[3]-=24; //Hour
GPS_RMC_Data.UTCDateTime[2]++; //Day
if (((GPS_RMC_Data.UTCDateTime[1]==1)||\
(GPS_RMC_Data.UTCDateTime[1]==3)||\
(GPS_RMC_Data.UTCDateTime[1]==5)||\
(GPS_RMC_Data.UTCDateTime[1]==7)||\
(GPS_RMC_Data.UTCDateTime[1]==8)||\
(GPS_RMC_Data.UTCDateTime[1]==10)||\
(GPS_RMC_Data.UTCDateTime[1]==12))&&\
(GPS_RMC_Data.UTCDateTime[2]>31))
{
GPS_RMC_Data.UTCDateTime[2]=1;//Day
GPS_RMC_Data.UTCDateTime[1]++;//Month