永发信息网

VB读取COM口数据时.经常出现程序假死.怎么解决

答案:2  悬赏:70  手机版
解决时间 2021-04-06 08:15
  • 提问者网友:愿为果
  • 2021-04-05 20:51
使用的是mscomm控件.
mscomm.output "str"
timedealy 300 '延时300MS
strtmp = mscomm.input

程序大概就是这样写的.
波特率是9600.在读取设备时会返回很多数据.
程序经常出到卡住的状态.还有读取上一次未读完的数据.
请问怎么解决.
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-04-05 21:02
我也遇到过,我当时是每一次接收数据都将数据叠加到text文本框中进行显示,随着数据越来越多,程序就死掉了。结束程序连代码都关闭了,崩溃。后来我的处理是将数据接收后进行计数,当接收的数据超过一个数值后,例如1000个字节,然后请接收寄存器清空,继续接收。有效的解决了假死问题。
还有就是接收数据的时候不要立即显示,先缓存到寄存器里,等接收完毕后再统一进行显示,这样设备信息就能够完全无误的显示出来。
全部回答
  • 1楼网友:执傲
  • 2021-04-05 21:35
这个基本上是串口接触不良的原因,我也遇到过,把串口连接好就可以了 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯