一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 4496|回复: 18

[51单片机] 再谈GPS串口通讯故障

[复制链接]
发表于 2014-9-19 22:32 | 显示全部楼层 |阅读模式
本帖最后由 gongzhu 于 2014-9-19 22:37 编辑

国庆前最后一篇技术帖子了

被GPS万年历自动校时困扰了两个多月了,总算在最后关头灵光一现给解决了。
其实也算不得灵光——一趾之疾,丧七尺之躯!
以前做过DS1302+LCD12864+GPS的程序,因为LCD12864的通讯速度远超Max7219,所以调试过程中未遇到中断处理不当造成的问题。其次是调试时间都偏短,一般两三个小时就结束了。
这次调数码管显示,最开始几分钟就会死机一次,后来改成了串口与定时器共同协调的中断模式,死机时间变为了开机后5个小时以上(6个小时左右必死机)。通过电脑同步跟踪GPS数据,并未发现在万年历死机前后的数据异常,因而可以排除GPS串口数据问题。

既然串口数据没有问题,那就说明单片机接收或处理有问题,可串口线使用的是罗技键盘拆机线,屏蔽、磁环都设计得挺好的,线路问题也应该排除。
就剩下单片机处理的问题了。

因为一直用的12M晶振,9600波特率是使用的T2模式,理论上有0.16%误差率,猜测会不会就是这看似无关紧要的误差率造成了单片机的死机?
果断更换成11.0592 M晶振,编译下载测试,哈哈,经过整整一周的“老化”测试,完好。

总算在合同到期前一周完成了自己的一项任务!

因此建议以后要玩串口通讯的,还是以11.0592 M晶振为好!
前面买过万年历板子的,如果想长时间挂着GPS,建议换成11.0592 M晶振,程序里面只需在宏定义中修改一行代码就行了:
#define FOSC        12288000
改为
#define FOSC        11059200
下周要正式办理离职手续了。明后天处理最后一堆电子垃圾!

发表于 2014-9-19 22:45 | 显示全部楼层
我试过,110592或221184的都行

点评

22.1184是11.0592的倍数当然可以,但是程序里面的延时也要修改。  发表于 2014-9-19 23:00
回复

使用道具 举报

发表于 2014-9-19 23:02 | 显示全部楼层
不会离开一乐吧,兄弟。

点评

保证不会,但前途未卜,只能当业余爱好  发表于 2014-9-19 23:05
回复

使用道具 举报

发表于 2014-9-19 23:05 | 显示全部楼层
本帖最后由 g54188 于 2014-9-19 23:27 编辑

才做了个ARDUINO的GPS时钟。没那么复杂
14574588qsyitrnscqtl07.gif
135357c8do65d1ywennb99.jpg
回复

使用道具 举报

发表于 2014-9-20 00:36 | 显示全部楼层
没有验证出是晶振误差造成中断代码死机,还是造成通讯代码死机哦?
如果是通讯有误差,应该可以用类似crc校验解决的,自己用的通讯方案都应该加上校验
回复

使用道具 举报

发表于 2014-9-20 08:17 | 显示全部楼层
通讯不好就死机?我觉得这个问题比晶振的问题更严重。
回复

使用道具 举报

发表于 2014-9-20 10:31 | 显示全部楼层
旧版模块与新到的模块把晶振和语句改后用新到模块还是慢了半秒啊
回复

使用道具 举报

发表于 2014-9-20 10:48 | 显示全部楼层
因为一直用的12M晶振,9600波特率是使用的T2模式,理论上有0.16%误差率,猜测会不会就是这看似无关紧要的误差率造成了单片机的死机?
上面这句话不太好理解,串口通信本来就应考虑错码、超时、掉包等处理,就算串口收到乱码也不应该造成死机这样的程序才算完整。

点评

本来加有校验的,时间不允许细查了,暂时告一段落  发表于 2014-9-20 13:57
回复

使用道具 举报

发表于 2014-9-20 12:22 | 显示全部楼层
也很想做一个,可是能力不行。先羡慕嫉妒没有恨吧。
回复

使用道具 举报

发表于 2014-9-20 13:58 | 显示全部楼层
看来还是用11.0592 M晶振好啊
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-31 12:26 , Processed in 0.037603 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表