+ -
当前位置:首页 → 问答吧 → 串口通讯text1文本接收问题

串口通讯text1文本接收问题

时间:2011-07-21

来源:互联网

VB code

Private Sub Comm1_OnComm()
       With Comm1
        Select Case .CommEvent
            Case comEvReceive
                Text1 = inData(1)
                Call Data_Handle
        End Select
       End With
End Sub

Private Sub Data_Handle()
    Select Case Val(Text1)
    Case 1
    ......
    Case 2
    ......
    Case 3  
    ......
    End Select 
End Sub

 
vb上位机接收单片机发送过来的数据,其中一个数据放到text1里面,text1存储的值是1,2,3这样交替轮流的值,如果单片机通讯正常的话,text1就是1,2,3走一遍再循环1,2,3走下去,中间有一定的延时,假如某号机(2号机)通讯不正常了,那么text1里面的值就是1和3交替显示了,不会显示2,这个时候我该如何通过编程判断2号机通讯有故障了?谢谢!

作者: gzhjic   发布时间: 2011-07-21

修改通信协议.不然无法判断.

作者: zdingyun   发布时间: 2011-07-21

除了text1这个数据外,还有其他数据的,我感觉加一定的位或者定时器应该可以判断出来的,不过暂时还没想到办法。

作者: gzhjic   发布时间: 2011-07-21

VB code

private count as long
count = 0‘加到初始化里面

Private Sub Data_Handle()
'从1开始嘛
if  Val(Text1) = count +1
then OK

else
    出错了
endif
count = (count + 1)%3
 
End Sub

初始化要对应,接下来就好判断了

作者: ybh37   发布时间: 2011-07-21