股票

串口接收与无线透传模块

领导布置了一个任务,测试一个GPS模块的数据,与另一个进行对比。GPS有个毛病,就是必须在室外操作,因为屋里没信号呀。之前是我顶头上司和另一个同事在测试,天天见他们端着笔记本在楼顶待着,虽然现在天气没那么热,但是我也不喜欢。刚好上个项目的产品有两路串口,同时还有无线收发模块,我就想着用这两个串口接收两个GPS的数据,然后通过无线模块发送,再用另一个产品在位置上接收不就好了。这样我可以在座位上悠然喝着茶等数据就行了。

很幸运的,两个GPS发送的数据都有TTL电平的输出信号,直接焊出线接到转发模块就行了。然后就是修改程序。两个GPS输出数据区别比较大,一个是38400的波特率,十六进制数据输出;另一个是115200的波特率,ASCII码输出。以前的双串口一个用于调试,一个用于接收GPS数据,用于调试的有固定格式,需要改动比较大,这里要改为接收任意数据的同时,兼顾调试功能,波特率被定死在了115200;用于接收GPS数据的基本不用改动,甚至波特率都一样,只是数据处理的时候不再是通过调试串口打印出来,直接转到无线模块发送出去。

两个GPS模块,一个数据发送频率是1Hz,另一个是10秒1次。一秒发一包数据,无线模块可受不了,于是我改为速度快的跟随速度慢的发,10秒一次的数据直接转发,同时给个标记,一秒一次数据的查询到这个标记置位才开始转发,这样还能避免碰撞的问题。

最后,焊接加连线用时一个小时左右,修改程序用时一个小时,但是调试好两个串口互不干扰的工作,却花了我两个小时。果然是编程容易调试难啊。历时四个小时,顺利完成,现在GPS模块都在室外工作,我却可以在这里悠然的写博客,哈哈。

打赏
原文链接:,转发请注明来源!

发表评论