Dim str As String str = "" time1 = Now MSComm.Output = "命令1" + vbCrLf str = MSComm.Input Debug.Print "开始:" + str Do Until InStr(str, "OK") > 0 Or InStr(str, "ERROR") > 0 Or DateDiff("S", time1, Now()) > 2 str = str + MSComm.Input DoEvents Loop Debug.Print "第二:" + str If InStr(str, "OK") <= 0 Then Exit Function End If
发送 mscomm.output= "abc" 你可以在oncome 事件接收
dim a as string a=mscomm.input建议楼主先看看mscomm的一些属性
str = ""
time1 = Now
MSComm.Output = "命令1" + vbCrLf
str = MSComm.Input
Debug.Print "开始:" + str
Do Until InStr(str, "OK") > 0 Or InStr(str, "ERROR") > 0 Or DateDiff("S", time1, Now()) > 2
str = str + MSComm.Input
DoEvents
Loop
Debug.Print "第二:" + str
If InStr(str, "OK") <= 0 Then
Exit Function
End If
调试的结果是:
开始:
第二: 命令1 设备的数据 按照我的想法结果是:
开始:
第二:设备的数据
不知道各位能否看明白啊,,先谢了,,