Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
    Case 2
    Dim inbit() As Byte
    inbit = MSComm1.Input
    Text6.Text = ""
    For i = 0 To UBound(inbit)
    Text6.Text = Text6.Text & Format(Hex(inbit(i)), "00")
    Next
 End Select
End Sub需要接收到的数据是:ff 01 86 a0 02 00 21 12 31 17 11 19 10 07 15 09 36 03 e8
运行结果老是Text6.Text里显示:31171119100715093603e8
单步执行时数据可以全部接收到:ff0186a00200211231171119100715093603e8,这是怎么回事啊?
哪里延时不对啊,我在next下面加了sleep 200 但还是不行,本人菜,请大侠指示!谢谢啦

解决方案 »

  1.   

    Case 2
      Dim inbit() As Byte
    sleep 200
      inbit = MSComm1.Input
      Text6.Text = ""
      For i = 0 To UBound(inbit)
      Text6.Text = Text6.Text & Format(Hex(inbit(i)), "00")
      Next
      

  2.   

    Private Sub MSComm1_OnComm()
    Select Case MSComm1.CommEvent
      Case 2
      Dim inbit() As Byte
      inbit = MSComm1.Input
      'Text6.Text = ""
      For i = 0 To UBound(inbit)
      Text6.Text = Text6.Text & Format(Hex(inbit(i)), "00")
      Next
     End Select
    End Sub