标题:请大神帮我看一下
只看楼主
lbc0405
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-18
结帖率:0
已结贴  问题点数:20 回复次数:1 
请大神帮我看一下
buffer$ = ""
MSComm1.Output = "@00FA0000000000101300C2C000001" + FCS("@00FA0000000000101300C2C000001") + "*" + Chr$(13) '读
Do
 DoEvents
 buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "*")
   
If CInt(Mid(buffer$, 25, 1)) = 1 Then
 Command2.Enabled = True
Else
 Command2.Enabled = False
End If
在我的程序里插入这么一段程序,插入之后这段程序后面的所有命令都不能执行了。把这段程序改为注释,后面的命令可以执行
搜索更多相关主题的帖子: buffer If 执行 插入 命令 
2019-09-24 15:44
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
Do
 DoEvents
 buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "*")

应该是卡在这里了。
这个循环里,应该加一个超时退出循环的处理过程。
Dim t1 As sing, t2 As sing
t1 = Timer               '进入循环前的秒数
Do
    t2 = Timer          '当前秒数
    If t1 > t2 Then t1 = t1 - 86400         '如果T2小于T1,说明过天了,修正T1,修正后T1为负数,而T2这时为个位数
    DoEvents
    buffer$ = buffer$ & MSComm1.Input
    If t2 - t1 > 3 Then Exit Do             '3秒超时,这个时间自己定
Loop Until InStr(buffer$, "*")


授人于鱼,不如授人于渔
早已停用QQ了
2019-09-24 16:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496987-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.165419 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved