[使用MScomm控件来进行串口通讯]由于要编写工控通讯测试,要人工调节发送字节与字节之间的时间空隙。所以发送的时候不能用字节数组一口气都发送出去,需要一个字符一个字符的发。那么发送比如 E1这个值该如何处理?

解决方案 »

  1.   


    用二进制模式发送。&HE1 也是一个字节。
      

  2.   


    Private Sub Command3_Click()
       If MSComm1.PortOpen Then MSComm1.PortOpen = False
       MSComm1.Settings = "9600,n,8,1"
       MSComm1.CommPort = 1
       MSComm1.PortOpen = True
       
       Dim a(127) As Byte
       Dim b(0) As Byte
       Dim i As Integer
       For i = 0 To 127
           a(i) = 128 + i
       Next
       For i = 0 To 127
           b(0) = a(i)
           MSComm1.Output = b
           ys 0.01
       Next
       
    End SubPrivate Sub ys(ByVal t As Single)
       Dim t1 As Single
       t1 = Timer
       While Timer - t1 < t
          DoEvents
       Wend
       
    End Sub
      

  3.   

    解决了,定义一个中间数组
             Dim temp(0) As Byte
               
               For i = 0 To longth - 1
                
                 temp(0) = bytSendByte(i)
                  frmMain.ctrMSComm.Output = temp              
                  Sleep (intervalset)
                Next i多谢 chinaboyzyq