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。