if(Ublox_Cfg_Rate(1000,1)!=0) //设置定位信息更新速度为1000ms,顺便判断GPS模块是否在位. { LCD_ShowString(30,215,200,16,12,"NEO-6M Setting..."); while((Ublox_Cfg_Rate(1000,1)!=0)&&key) //持续判断,直到可以检查到NEO-6M,且数据保存成功 { usart3_init(9600); //初始化串口3波特率为9600(EEPROM没有保存数据的时候,波特率为9600.) Ublox_Cfg_Prt(38400); //重新设置模块的波特率为38400 usart3_init(38400); Ublox_Cfg_Tp(1000000,100000,1); //设置PPS为1秒钟输出1次,脉冲宽度为100ms key=Ublox_Cfg_Cfg_Save(); //保存配置 } LCD_ShowString(30,230,200,16,12,"NEO-6M Set Done!!"); delay_ms(500); LCD_Fill(30,230,30+200,215+16,WHITE);//清除显示 }
时间: 2023-06-16 21:08:36 浏览: 86
这段代码是针对Ublox NEO-6M GPS模块进行配置和初始化的。首先使用`Ublox_Cfg_Rate(1000,1)`函数设置GPS模块的更新速度为1000ms,并判断GPS模块是否存在。如果GPS模块存在,则进入循环,持续判断是否可以配置GPS模块的参数,直到成功为止。在循环中,使用`Ublox_Cfg_Prt(38400)`函数将GPS模块的波特率设置为38400,并使用`Ublox_Cfg_Tp(1000000,100000,1)`函数设置PPS输出频率为1秒1次,脉冲宽度为100ms。最后调用`Ublox_Cfg_Cfg_Save()`函数保存配置参数。在完成配置后,向LCD屏幕显示设置完成的信息,并延时500ms清除显示。
相关问题
nmea_ublox
NMEA是一种标准格式,用于传输GPS接收器收到的定位信息。UBLOX是一家瑞士公司,提供了各种GPS芯片和模块。
nmea_ublox是指在UBLOX GPS芯片和模块中使用的NMEA协议。UBLOX芯片在接收到卫星信号后,将定位信息转换为NMEA格式的语句,以便于传输和解析。
NMEA语句是由多个字段组成的,每个字段代表不同的定位信息。例如,GPRMC语句包含了位置、速度、航向等信息。GPGGA语句包含了卫星信号质量、UTC时间和位置信息等。
使用nmea_ublox,可以通过读取UBLOX GPS模块输出的NMEA语句来获取定位信息。通过解析这些语句,我们可以获得当前的经纬度坐标、速度、海拔高度以及其他相关信息。
nmea_ublox的应用非常广泛。它可以用于车辆导航系统,航海设备,无人机和移动设备等等。通过使用nmea_ublox,我们可以实现准确和迅速的定位功能,并且可以根据需要进行进一步的定位数据分析和处理。
综上所述,nmea_ublox是指在UBLOX GPS芯片和模块中使用的NMEA协议。它通过将定位信息转换为NMEA语句,提供了一种方便的方式来获取和解析定位数据。它在各种应用中被广泛使用,为导航和定位提供了重要的支持。
控制ublox模块RMC语句输出频率为5的指令
要控制ublox模块RMC语句输出频率为5,需要向模块发送UBX协议的配置指令。具体的指令如下:
```
// 设置RMC语句输出频率为5Hz
uint8_t setRMC[] = {
0xB5, 0x62, // UBX Sync Characters
0x06, 0x01, // Class ID
0x08, 0x00, // Message ID
0x05, 0x00, // Payload Length
0xE0, 0x08, // Measurement Rate MSB
0x05, 0x00, // Measurement Rate LSB
0x01, 0x00, // Navigation Rate
0x00, 0x00, // Time Reference
0x00, 0x00, // Checksum A
0x00, 0x00 // Checksum B
};
```
需要注意的是,UBX协议的配置指令需要以二进制方式发送,并且需要正确计算校验和。具体的发送方式可以参考ublox模块的数据手册。