oncomm事件如何编写程序。单片机是测量电位器的电阻并以ascii码形式发送数据的,比如此时测得电阻为15,则发送一个R的ascii码,一个15的ascii码,一个5的ascii码,此时的电位器旋转角度为30度,则发送一个A的ascii码,一个3的ascii码,一个0的ascii码。VB如何接收并区分这些数据?是要定义一个数组,通过首位ascii码来区分数据类型然后将后面的数据用chr函数转化成字符并存入对应的text文本框中码?求指点

解决方案 »

  1.   

    Option ExplicitPrivate Sub Form_Load()
        With MSComm1
            .CommPort = 1
            .Settings = "9600,N,8,1"
            .InputMode = comInputModeText   '用字符模式接受'
            .RThreshold = 3                 '满3个字符触发 OnComm 消息'
            .InputLen = 3                   '一次读取3个字符'
            .PortOpen = True
        End With
    End SubPrivate Sub MSComm1_OnComm()
        Dim sData       As String
        
        With MSComm1
            If .CommEvent = comEvReceive Then
                While .InBufferCount >= 3
                    sData = .Input
                    Debug.Print sData
                Wend
            End If
        End With
    End Sub