免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ljwilliam
打印 上一主题 下一主题

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

论坛徽章:
0
71 [报告]
发表于 2010-11-19 10:58 |只看该作者
回复  EZWORD


    我感觉门限是个微妙的东西,未必是越大越好。 因为比如说门限设定为最大值14,那么 ...
ljwilliam 发表于 2010-11-19 09:41



       这有什么微妙的,只是你不理解,自己去想吧,这个东西为什么叫fifo,当然这只是理论上的。一般也不会设置为最大值。

论坛徽章:
0
72 [报告]
发表于 2010-11-19 11:11 |只看该作者
回复 67# smalloc


     的确,加入printk,并且打印的数据量不同,上层read到的数据丢失情况是不一样的,打印的越多丢失的越多。的确可能是中断响应上的问题。
   但是我觉得只能说明中断响应不及时。因为串口是UART的,没法改成别的模式。
   另外,数据丢失和同步到发送端有什么关系? 数据从底层的FIFO中读出来,被送到的是flip_buffer,然后是tty层的环形缓冲器,最后就到了上层的read,您指的发送端是什么地方?

论坛徽章:
0
73 [报告]
发表于 2010-11-19 11:15 |只看该作者
回复 71# EZWORD


    不,其实要看它们是怎么用这个门限的。
   smalloc 说了一种可能是 到了这个门限,就不能在接收数据了。这是一种。我这里是,到了这个门限就触发中断来读取数据,数据还是在收到FIFO中的,但是如果FIFO中的数据如果一直超过门限,就一直激活中断的信号让中断来读取,直到FIFO中的数据低于门限。 所以在我这里的情况的话,是改成最小的1字节的门限是让中断不断的去读取,按理来说问题是出在这里的话,是有改进的,但是现实是没有改进。

论坛徽章:
0
74 [报告]
发表于 2010-11-19 11:21 |只看该作者
到了门限中断会产生,开始从fifo中移走数据,注意是fifo,数据还是可以进来的。

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
75 [报告]
发表于 2010-11-19 11:27 |只看该作者
回复 72# ljwilliam


    暂时没有看UART的资料
不过我看到RS232 2个设备间连线有这样的控制线 请求发送 允许发送 等.
如果能和上层缓冲机制联系起来是能够控制不允许满出的

论坛徽章:
0
76 [报告]
发表于 2010-11-19 13:31 |只看该作者
回复 74# EZWORD


    那就是我看到的芯片手册上的描述是这样的。

论坛徽章:
0
77 [报告]
发表于 2010-11-19 13:41 |只看该作者
回复 75# smalloc


    的确,有硬件和软件流控制等,但是关键是你这边用,GPS模块不支持流控制,一样没用阿。
   能不能从中断上面解决这个问题?我的意思是,不用流控制,出现这样的情况,问题可不可以断定在中断上有问题?

论坛徽章:
0
78 [报告]
发表于 2010-11-19 13:43 |只看该作者
你查询方式能用,为什么还要折腾?
这个问题已经很明显了,是不是没事干呢。

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
79 [报告]
发表于 2010-11-19 13:47 |只看该作者
回复 77# ljwilliam


    前面说了.如果是溢出导致.那是无法彻底解决的
只能改善.因为你不能保证你的系统没有其他中断和关中断操作.这些都可能导致溢出

论坛徽章:
0
80 [报告]
发表于 2010-11-19 13:57 |只看该作者
回复 78# EZWORD

    查询用不用,不是我能决定的。。。。
   要折腾是为了弄清楚为什么会这样。。。因为GPS模块和串口间通信的问题可能会在以后使用的别的模块和串口通信的时候出现。我也承认,存在着没事找事的成分。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP