免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 35625 | 回复: 120
打印 上一主题 下一主题

[驱动] 串口接收GPS模块发送的信息,接收上丢失数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-11 16:24 |只看该作者 |倒序浏览
ARM体系下,串口和一GPS模块连接,接收GPS的信息。但是用cat /dev/ttyS3去读取串口收到的信息的时候,发现会丢失数据。并且丢失的数据是连续的8个或者9个字节,并且发生这种情况的时间间隔不固定,但是错误的频率还是比较高的,会影响之后应用程序分析GPS信息。
串口的波特率设定在的是9600,一次会发送的数据大约也只有200字节,按理来说速度也不是很快,而且串口是16550A的,自带有16字节的FIFO,触发传输的门限也设定在8字节。
试过改变串口的工作方式于原始模式,现象依旧。也改过触发的门限,也依然如此。
就想请教各位,丢失数据可能是出于什么原因? 但有点滴,也劳烦各位能给小弟回个帖,这里先谢过了。
正确数据:
$GPRMC,,V,,,,,,,,,,N*53

$GPVTG,,,,,,,,,N*30

$GPGGA,,,,,,0,00,99.99,,,,,,*48

$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30

$GPGSV,1,1,00*79

$GPGLL,,,,,,V,N*64
错误数据:
$GPRMC,,V,,,,,,,,,,N*53

$GPVTG,,,,,,,,,N*30

$G,0,00,99.99,,,,,,*48

$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30

,1,00*79      //开头字段的数据丢失

$GPGLL,,,,,,V,N*64

论坛徽章:
0
2 [报告]
发表于 2010-11-11 19:52 |只看该作者
你确定是串口丢的?最好跟进串口驱动去看看吧。。。

论坛徽章:
0
3 [报告]
发表于 2010-11-11 20:08 |只看该作者
回复 2# EZWORD

因为看过之前从GPS传送给串口的数据,是正确的。
驱动的话,不会有问题。。。因为ARM板子上面有好几个串口,改硬件电路,换成别的串口就不会有问题。。。

论坛徽章:
0
4 [报告]
发表于 2010-11-11 20:19 |只看该作者
呵呵,这么确信。那再上层点就应该更不会丢掉先到的数据了,这个很奇怪。
要是有机会的话还是在串口中断中把接收到的东西打印出来看看吧,又不是很麻烦。

论坛徽章:
2
卯兔
日期:2013-09-22 20:08:052015亚冠之广州富力
日期:2015-05-18 17:31:30
5 [报告]
发表于 2010-11-11 21:11 |只看该作者
楼上的是一个好方法,直接把中断收到的数据打印出来.这样就可以分析收到之前的问题还是之后系统去读的问题.

论坛徽章:
0
6 [报告]
发表于 2010-11-11 21:18 |只看该作者
这种环境基本都是靠print

论坛徽章:
0
7 [报告]
发表于 2010-11-11 21:22 |只看该作者
回复 4# EZWORD

是在修改内核的驱动,让中断打印出具体接收到的信息?

论坛徽章:
0
8 [报告]
发表于 2010-11-11 21:25 |只看该作者
回复 6# Yuri.G.

是修改驱动打印信息嘛?
如果是添加应用程序打印的话,貌似不行的吧

论坛徽章:
0
9 [报告]
发表于 2010-11-11 21:42 |只看该作者
回复 8# ljwilliam


    是说你的数据发送前print出来和接收到的进行比对,看是他没法还是你没收到

论坛徽章:
0
10 [报告]
发表于 2010-11-11 21:48 |只看该作者
回复 9# Yuri.G.


这么确信的原因就是我们用线接出了GPS模块的发送信息的引脚,读取上面的信息,正确的,之后就是串口,cat 串口就出错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP