一个USB问题

[复制链接]
 楼主| 司徒老鹰 发表于 2011-1-6 13:53 | 显示全部楼层 |阅读模式
我用定时器从USB口接收数据,接收到的数据在RichEdit中显示,定时器200ms启动一次,问题是:在开始接收数据时很好,速度也快,可是当RichEdit写满显示不开时,接收数据速度明显变慢,当清掉RichEdit的内容后速度又变快了
chuxh 发表于 2011-1-6 14:08 | 显示全部楼层
你显示的方法是什么?
 楼主| 司徒老鹰 发表于 2011-1-6 14:26 | 显示全部楼层
MainForm-> RichEdit1-> Text   =   MainForm-> RichEdit1-> Text   +   temp;
 楼主| 司徒老鹰 发表于 2011-1-6 14:50 | 显示全部楼层
temp   中是接收到的数据,我觉得用Text   =   Text   +   temp不太好
llljh 发表于 2011-1-6 15:11 | 显示全部楼层
MainForm-> RichEdit1-> Lines-> Add(temp);
 楼主| 司徒老鹰 发表于 2011-1-6 15:28 | 显示全部楼层
不知有什么好的方法
morrisk 发表于 2011-1-6 15:40 | 显示全部楼层
那你还要什么办法?MainForm-> RichEdit1-> Text这个是在内存当中,你的数据越多,占用内存越多,速度也就越慢,你只能减少显示的数据,才能加快显示速度。
 楼主| 司徒老鹰 发表于 2011-1-6 15:57 | 显示全部楼层
我也想到了这个问题,除了显示次数有没有其他方法,我看到Cypress   的控制面板也用的是RichEdit没有出现我这样的问题哦
morrisk 发表于 2011-1-6 16:32 | 显示全部楼层
Cypress   也可能是利用线程来解决的。
 楼主| 司徒老鹰 发表于 2011-1-6 16:44 | 显示全部楼层
哦,谢谢各位的帮忙,我试了,用
MainForm-> RichEdit1-> Lines-> Add(temp);
就好多了。
A2000wps 发表于 2011-1-6 16:47 | 显示全部楼层
好累,好困
小小猫咪 发表于 2011-1-6 16:57 | 显示全部楼层
RichEdit是做什么用的。
houcs 发表于 2011-1-6 17:05 | 显示全部楼层
在写eagleComm串口调试软件时也遇到这个问题。后来不记得咋解决的了。
pangb 发表于 2011-1-6 17:17 | 显示全部楼层
我感觉是缓冲区小的原因吧。
或者是读USB的时间间隔长,如果改短一下会不会好些。
362626032 发表于 2011-1-6 23:08 | 显示全部楼层
c126 发表于 2011-1-7 10:19 | 显示全部楼层
:sleepy:
易达口香糖 发表于 2011-1-7 22:26 | 显示全部楼层
VC的方法很多,真不知道哪个方法更好用啊,还有其他的显示方法吗?
川无停流 发表于 2011-1-8 16:53 | 显示全部楼层
我想是缓冲区开的太少了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

427

主题

3735

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部