一设备的串口通讯协议中要求有开始位,开始位为1加上&H0A则返回该设备的地址,开始位为0加上&H0A则返回该设备的测量值,请问在VB程序中用MSCOMM32控件怎么表示开始位的?
我用一个串口测试工具,该工具有个加上开始位选项,选上这个选项,设为1,再发送&H0A,则可获得设备地址,设为0,再发送&H0A,返回测量值,完全正确。
但我在VB程序中就是不知道怎么表示出这个开始位,请大家帮忙。

解决方案 »

  1.   

    MSComm1.Output = "1" & "&H0A" 
    MSComm1.Output = "0" & "&H0A" 
    程序里自己这样写
      

  2.   

    程序里面自己判断接收的是什么。比如以下程序段:
    Private Sub MSComm1_OnComm()
    Dim B() As Byte
    If MSComm1.InBufferCount > 0 Then
       B = MSComm1.Input
       If B(0) = &H31 And B(1) = &H0A Then
           '收到地址
       ElseIf B(0) = &H30 And B(1) = &H0A Then
           '收到测量值
       End If
    End If这只是一个示意,需要增加错误处理。
      

  3.   

    多谢 aiur2000(开始.NET) 和 vbscape() 
    几天没来,真不好意思。
    我试试去。
    请问vbscape,你的代码里&H31和&H30 是什么意思呢,代表什么?