您的位置 首页 > 数码极客

115200接收乱码如何设置commtimeouts

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

源代码见底部链接。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“115200接收乱码如何设置commtimeouts”边界阅读