找回密码
 立即注册
收起左侧

串口读数据分析显示界面卡顿

11
回复
13281
查看
[复制链接]
累计签到:87 天
连续签到:1 天
来源: 2014-8-8 15:15:07 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

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

x
小弟用串口数据 大约300-500μs一帧,总数据量大约200万个字节。

然后小弟用一个线程不断去读串口,将每次读到的数据依次拷贝到一个 buffTmp[2000000]里面以备以后查询。

每次读取串口还会发送个信号出去,以分析这串数据,并在UI显示出这次分析后的数据

运行发现读是读到了这么多数据,但是UI显示不过来,会卡死半天 然后等读完了才恢复正常……求指点啊!!!求助!!小弟是新手!!应该如何修改?
void ThreadReceive::run()//接收线程{forever{
TmpBuff = myCom->read(2860);
tmpData = TmpBuff.data();   
DataLen = TmpBuff.size();
memset(&DataBuf[0],0x00,BUFF_SIZE);     
memcpy(&DataBuf[0],tmpData,TmpBuff.size());   
emit(TxShowAnsyData(str));
msleep(1);   
QApplication::processEvents();
}
}
回复

使用道具 举报

累计签到:113 天
连续签到:1 天
2014-8-8 16:29:13 显示全部楼层
额,嵌入式的啊,不懂帮顶了
回复 支持 反对

使用道具 举报

尚未签到

2014-8-8 20:54:42 显示全部楼层
用多线程来读数据
回复 支持 反对

使用道具 举报

累计签到:956 天
连续签到:1 天
2014-8-9 10:36:57 显示全部楼层
总数据量也不大,你是怎么更新到ui上的?每次显示一帧还是全部显示?

点评

每次读到多少显示多少,现在发现是ui->textEdit->append(str); 这句话卡顿,求解决 办法!谢谢!  详情 回复 发表于 2014-8-11 09:17
回复 支持 反对

使用道具 举报

累计签到:87 天
连续签到:1 天
2014-8-11 09:17:22 显示全部楼层
wdmxtk002 发表于 2014-8-9 10:36
总数据量也不大,你是怎么更新到ui上的?每次显示一帧还是全部显示?

每次读到多少显示多少,现在发现是ui->textEdit->append(str); 这句话卡顿,求解决 办法!谢谢!
回复 支持 反对

使用道具 举报

累计签到:956 天
连续签到:1 天
2014-8-11 22:48:47 显示全部楼层
你确定是用多线程去读数据的?怎么感觉你是用ui线程读数据并显示的呢!
回复 支持 反对

使用道具 举报

累计签到:956 天
连续签到:1 天
2014-8-11 23:23:29 显示全部楼层
亲。。。你1毫秒的睡眠当然卡死了。。。主线程根本更新不了这么快。。。。试着一次少读点,或者读慢一点。

点评

最低能设多少……貌似就1ms? 晕╮(╯▽╰)╭  详情 回复 发表于 2014-8-12 16:30
回复 支持 反对

使用道具 举报

累计签到:87 天
连续签到:1 天
2014-8-12 16:30:47 显示全部楼层
wdmxtk002 发表于 2014-8-11 23:23
亲。。。你1毫秒的睡眠当然卡死了。。。主线程根本更新不了这么快。。。。试着一次少读点,或者读慢一点。 ...

最低能设多少……貌似就1ms?

晕╮(╯▽╰)╭
回复 支持 反对

使用道具 举报

尚未签到

2014-10-28 20:46:11 显示全部楼层
楼主做的是Linux下的串口通信吗?可以把你的代码发给为参考以下呢,初学,很多都不懂。

点评

widnows的 基本参考斑竹的教程  详情 回复 发表于 2014-11-6 14:31
回复 支持 反对

使用道具 举报

累计签到:87 天
连续签到:1 天
2014-11-6 14:31:07 显示全部楼层
123 发表于 2014-10-28 20:46
楼主做的是Linux下的串口通信吗?可以把你的代码发给为参考以下呢,初学,很多都不懂。 ...

widnows的

基本参考斑竹的教程
回复 支持 反对

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-6-22 13:18:31 显示全部楼层
20030969 发表于 2014-11-6 14:31
widnows的

基本参考斑竹的教程

楼主可以吧这个项目的代码弄一份参考一下吗?现在遇到瓶颈过不去,也是线程和串口的
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-2-25 17:43:44 显示全部楼层
楼主问题解决了吗? 目前我在一个线程中文本框显示 原始数据, qwt显示波形,还有个仪表盘显示速度, 下位机发数据的时候偶尔也会卡死,不知道怎么搞了,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了