接受部分 每次都不能完整的接受第一个数据Dim buffer As String
Dim cando As Boolean
Do Until Len(MSComm1.Input) > 0
Text2.Text = "未检测到数据!"
DoEvents
Loop                             
Text2.Text = "正在接受数据,请稍等......."
Do Until cando = True
Sleep 1000
If MSComm1.InBufferCount <> 0 Then
buffer = buffer + MSComm1.Input
Else
cando = True
Text2.Text = "数据接收完毕!"
End If
Text1.Text = buffer
DoEvents
'Wend发送部分 仪器没办法接受到数据 Open CommonDialog2.FileName For Input As #5Do Until EOF(5)
DoEvents
Line Input #5, Ls3
Text2.Text = Ls3
MSComm1.Output = Ls3
Sleep 100
Loop求各位大佬帮忙

解决方案 »

  1.   

    问题比较多,懒的说了,接收部分至少也该是这样写的。Private Sub MSComm1_OnComm()
        Dim C As Long, Data() As Byte
        Select Case MSComm1.CommEvent
            Case comEvReceive
                Do
                    C = MSComm1.InBufferCount
                    Sleep 10
                Loop Until C = MSComm1.InBufferCount
                Data = MSComm1.Input
               '一般接收代码需要这样处理,虽然你收到的是asc字符,但是最好用一个数组来接收,然后转成string,ascii值在128~254的符号用字符串来接收是可能丢失的
            Case Else
        End Select
    End Sub