搜索
bottom↓
回复: 5

从单片机RS232串口接收GPS数据出现问题,求解答

[复制链接]

出0入0汤圆

发表于 2012-4-8 19:43:23 | 显示全部楼层 |阅读模式
我最近买了一个GPS的模块,直接把模块的UART连到现成的单片机板子RS232上。
但是现在接收数据解析的过程出现了问题,希望遇到过的或者知道问题所在的朋友们指点指点。
我写了一个GPS数据的解析程序烧到单片机,程序功能是:从串口一个字符一个字符地接收GPS数据,然后动态地解析。
,最后在液晶屏上显示解析出的时间、经纬度的信息。
出现的问题是这样的:我将单片机连到电脑上,从超级终端发送GPS数据(比如:$GPGGA,081420.304,,,,,1,04,5.4,73.8,M,4.8,M,,0000*52)到单片机,然后单片机能解析数据,当我在串口终端只发一条$GPGGA,,,,,*数据,能够正确解析并显示解析结果到终端和液晶屏上,或者我发两条$GPGGA,,,,,,,,,* 或者任意两条协议数据的时候也能正确解析出来,但是当我发三条或者一长串GPS数据的时候,就只看到发送出去了,但是没有任何解析的结果出现,好像解析失灵了。
另外将GPS模块UART直接接到单片机的RS232,GPS模块连续地往单片机串口发送数据,可是出现了液晶屏上有时候显示一次经纬度数据就静止不更新 或者干脆什么都不显示。但是按我的程序,应该是显示的时间,经纬度都随着接收的数据动态更新的。   
不知道怎么回事,求高手分析分析可能是什么原因引起的,怎样解决~

另:
解析GPS数据的程序应该是好用的,因为只发一条或者两条$GPGGA,$GPRMC的时候,能够正确解析并显示想要的信息。但是一旦发送的数据量一多就出现没有反应,程序失效。
另外RS232与GPS模块的连接也是好用的,因为可以将GPS原始数据直接显示在液晶屏上。
GPS模块的波特率是4800的,频率是1Hz,从串口终端的输出来看,是1秒出现6条数据,也就是GPRMC,GPGGA,GPGSV,GPGSA的组合,我只需要GPRMC和GPGGA的内容,也就是其他的几种接收了不作处理。
另外我单片机的程序的波特率也是设置的跟GPS模块一样的,保持一样,应该不是波特率不匹配的问题。

到底是怎么回事呢,有没有朋友遇到过,可是怎样解决呢?
头像被屏蔽

出0入0汤圆

发表于 2012-4-9 08:54:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2012-4-9 09:13:12 | 显示全部楼层
明显是你单片机串口接收程序有问题。建议贴程序看看。                                                                     

出0入0汤圆

发表于 2012-4-9 10:18:08 | 显示全部楼层
GPS解析程序有bug,根据GPS发送字符顺序仔细分析一下代码,应该能找到问题所在!

出0入0汤圆

 楼主| 发表于 2012-4-9 12:38:18 | 显示全部楼层
wormchen 发表于 2012-4-9 10:18
GPS解析程序有bug,根据GPS发送字符顺序仔细分析一下代码,应该能找到问题所在! ...

GPS解析程序应该是没有Bug的。因为我用串口测试的时候,单条地发送数据都能正确解析出来。
主要问题是这样的: 现在GPS模块是直接往UART串口发数据的,波特率是4800,每一秒发送GPRMC,GPGGA的等六条数据,大约350个字符,
然后单片机的串口一个字符一个字符地接收,然后解析,串口接收有一个循环缓冲区。
我现在把缓冲区大小设置为128,就只能在液晶屏上显示一次解析的结果,然后就停止更新了。但是按理说,GPS数据是不断变化的,显示的时间,经纬度应该动态更新才对。
缓冲区大小为1024时,液晶屏上的数据就能更新三次(大约是350个字符的3倍),然后就停止更新了。 我试验了缓冲为2048时,能更新6次就停止了。
好像我的缓冲区只能装满,就不再更新了,可是明明是循环的缓冲区,也就是读取一个字符,缓冲区尾部就向前,就又多出一个字符空间,按理说是不会满的。
或者说处理太慢了,但是解析的过程也就是一小段判断语句,也没有循环,按理说应该很快能执行完。
那么真正的原因是什么呢? 很迷惑啊~ 求解答

出0入0汤圆

发表于 2012-4-9 12:45:41 | 显示全部楼层
贴程序看看
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 15:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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