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

例如 使用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。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值