GPS的指令GPGLL使用方法和代码

1、u-blox芯片

2、ZBT TG621K

GPS 上电后,每隔一定的时间就会返回一定格式的数据,数据格式为: 
$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x每行开头的字符都是'$',接着是信息类型,后面是数据,以逗号分隔开。 
一行完整的数据如下: 
$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809,,,A*60

GPS的指令GPGLL使用方法和代码_第1张图片

例如 使用GPGLL命令读取GPS信息 

 ErrorStatus GetGPSCoordinates(u8 *ram)
{
    char *p;
    USART_ITConfig(GPS_USART,USART_IT_RXNE,DISABLE);               //开中断
    if (strstr((char*)GPSREBUFStructure.GPSRebuf,"$GPGLL") != 0)         //GPSRebuf 数据对比
    {
        p = strstr((char*)GPSREBUFStructure.GPSRebuf,"$GPGLL");          // $ 的首地址
        if(*(p+7) != ',' &&  255- (p - (char*)GPSREBUFStructure.GPSRebuf)>32 &&*(p+18) == 'N'&&*(p+32) == 'E')
        {
            ClearRAM((u8*)ram,50);
            strncpy((char*)ram,(char*)(p+20),11);
            strcpy((char*)(ram+strlen((char*)ram)),",");
            strncpy((char*)(ram+strlen((char*)ram)),(char*)(p+7),10);
        }
        else
        {
            USART_ITConfig(GPS_USART,USART_IT_RXNE,ENABLE);  //如果接收的数据不对应,就开中断
            return ERROR;
        }
    }
    else
    {
        USART_ITConfig(GPS_USART,USART_IT_RXNE,ENABLE);
        return ERROR;
    }
    USART_ITConfig(GPS_USART,USART_IT_RXNE,ENABLE);
    return SUCCESS;
}

影响GPS的因数有很多,GPS上电一般会有数据传输,只是信号不好的时候为无效数据,V、、有效数据为A。

你可能感兴趣的:(GPS的指令GPGLL使用方法和代码)