搜索
bottom↓
回复: 20

用了QT5官方的串口类,发现丢数据很严重!求破!

[复制链接]

出0入0汤圆

发表于 2014-7-2 23:03:19 | 显示全部楼层 |阅读模式
学QT中,做个串口,先用官方的例子试了下,接受UBOOT发来的数据:
结果很差·和secureCRT 完全不能比·求推荐个QT串口实现的好方法!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2014-7-3 07:25:46 | 显示全部楼层
使用第三方的qextserialport库

出0入0汤圆

 楼主| 发表于 2014-7-3 08:18:29 | 显示全部楼层
xckhmf 发表于 2014-7-3 07:25
使用第三方的qextserialport库

还没过试过,但发现2个类的读写函数基本是一样的·
头像被屏蔽

出0入0汤圆

发表于 2014-7-4 19:36:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2014-7-4 19:38:44 | 显示全部楼层
bbs2009 发表于 2014-7-4 19:36
使用第三方的qextserialport库吧。
qtcn  上有。
LZ 好像 在   qtcn  也发帖了。 谈论 Qt,  qtcn 更靠谱 ...

是的,发帖了,额,现在好像发现不是丢数据的问题,因为有的时候是好的,有的时候不行,比较了下,感觉也许是波特率设置不够精确,导致时间长了乱码的出现·

出0入0汤圆

发表于 2014-7-4 22:06:40 | 显示全部楼层
我也用的Qt5的串口,没发现有啥问题。

出0入0汤圆

 楼主| 发表于 2014-7-4 22:29:56 | 显示全部楼层
nongxiaoming 发表于 2014-7-4 22:06
我也用的Qt5的串口,没发现有啥问题。

我发的是UBOOT的数据过来,115200 估计量比较大把·导致出了问题。
咨询下,readall()读缓冲区的时候,如果有新的数据来,底层是怎么处理的?在建立个新的缓冲区,读完数据后,在销毁旧的,读新的?如果这样,就不会丢数据了·如果只是一个缓冲区的话,那读的时候,不就堵塞了写吗·导致丢数据。

出0入0汤圆

发表于 2014-7-5 00:11:58 | 显示全部楼层
一个人· 发表于 2014-7-4 22:29
我发的是UBOOT的数据过来,115200 估计量比较大把·导致出了问题。
咨询下,readall()读缓冲区的时候,如 ...

应该不会是115200的问题,我一直都用的115200啊,没发现有啥问题。你readall的时候,缓冲区有多少自己就给你读回来了,驱动里面串口的缓冲区应该是一个环形缓冲区,这个是不会删除的,会是循环的,只要有空闲的缓冲区数据就读入,缓冲区满应该会有流控,如果你设置有流控的话。没有流控数据会被覆盖,但PC端的响应速度应该是很快的,不至于到缓冲区数据溢出。

出0入0汤圆

 楼主| 发表于 2014-7-5 18:39:13 | 显示全部楼层
本帖最后由 一个人· 于 2014-7-5 18:41 编辑
nongxiaoming 发表于 2014-7-5 00:11
应该不会是115200的问题,我一直都用的115200啊,没发现有啥问题。你readall的时候,缓冲区有多少自己就 ...


恩,我想了下,缓冲区应该是不会丢数据的,那估计是波特率设置时间长了,有偏移·

出0入0汤圆

发表于 2014-7-5 18:54:46 | 显示全部楼层
原来大家都在用qt5啊,试了下,程序可以直接下载到android手机运行,感觉不错。

出0入0汤圆

 楼主| 发表于 2014-7-5 18:56:09 | 显示全部楼层
悟空间66 发表于 2014-7-5 18:54
原来大家都在用qt5啊,试了下,程序可以直接下载到android手机运行,感觉不错。 ...

什么程序呀,还没有试过安卓的·不知道咋样的·

出0入0汤圆

发表于 2014-7-5 19:49:12 | 显示全部楼层
一个人· 发表于 2014-7-5 18:56
什么程序呀,还没有试过安卓的·不知道咋样的·

目前qt5.3 支持android 里面有很多例程,都可以下载到手机里面运行。

出0入0汤圆

 楼主| 发表于 2014-7-5 19:51:42 | 显示全部楼层
悟空间66 发表于 2014-7-5 19:49
目前qt5.3 支持android 里面有很多例程,都可以下载到手机里面运行。

那的装QT5.3 for 安卓版本吧?没有装呢,传几个拉风的上来吧?

出0入0汤圆

发表于 2014-8-18 16:03:41 | 显示全部楼层
QTCN 网?

出0入0汤圆

发表于 2014-8-18 16:05:44 | 显示全部楼层
qt5的串口类就是来自qextserialport

出0入0汤圆

发表于 2014-8-29 14:26:50 | 显示全部楼层
QSerialPort 在子线程里发送数据单次只能发送1K
波特率高115200
我在Qt5.2下用的。

出0入0汤圆

发表于 2014-9-1 09:26:27 | 显示全部楼层
用5.3自带的类,目前串口接收有问题,极少时候接收的是正确的……

出0入0汤圆

发表于 2014-9-6 00:23:33 | 显示全部楼层
如果是事件触发方式接收,最好自己做一个环形缓冲,另外在开一个线程处理数据

出0入0汤圆

发表于 2015-11-8 22:44:43 | 显示全部楼层
xckhmf 发表于 2014-7-3 07:25
使用第三方的qextserialport库

qt5 就是集成的 qextseriaport

出0入0汤圆

发表于 2015-11-8 22:59:55 | 显示全部楼层
用QtSerialPort表示115200正常.Linux没问题
头像被屏蔽

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-10-3 05:24

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

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