最近使用Ublox NEO-M8U定位模块,发现默认的输出频率是1Hz,波特率是9600。实际使用需要增大输出频率,由于定位模组已经焊接到板子上,和主控芯片之间通过UART连接在一起了,所以只能在主控芯片上通过代码去修改。 本文分享修改过程及注意事项。
我的主控芯片跑的linux系统,对于主控芯片是MCU的,原理是一样,代码也只要稍作修改即可。
1)确认ublox模组的串口波特率,默认情况没有修改过的话是9600,如果不确认可以通过登录linux 系统,使用microcom命令查看, microcom /dev/ttymxc1 如果正常输出信息的话,那波特率就是9600. 如果输出乱码,那可以改成microcom -s 115200 /dev/ttymxc1试试,由此可以确认出波特率
其中ttymxc1 是和ublox连接的linux串口号
2)将编译后的ublox-config 程序放到板子里
3)执行./ublox-config /dev/ttymxc1 9600 115200 10
包含4个参数,第一个是串口号,第二个是ublox当前波特率,第三个是需要修改后的波特率。波特率目前支持:9600 19200 38400 115200
第四个是输出频率,目前支持10,5,1 分别对应10hz,5hz,1hz
执行成功后提示:
Config successful! Exit ublox-config Proc
4)之后ublox模组就按照修改后的波特率和频率输出信息了。
注意:
1) 修改一次后,掉电是保持配置的,不需要每次上电都做配置。
2) 输出频率10hz时,波特率得设置为115200,否则输出不过来,会显示乱码。
源代码见底部链接。