程序修改Ublox模组的输出频率和波特率

最近使用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,否则输出不过来 会显示乱码。

源代码见:

https://github.com/TopSemic/Ublox-Positioning/tree/master/01%20ublox%20config

1+

发表评论