读书人

VB串口通信遇到的有关问题

发布时间: 2012-02-24 16:30:39 作者: rapoo

VB串口通信遇到的问题
Private Sub MSComm1_OnComm()
Static num As Integer
Dim Buffer As Variant
Dim Arr() As Byte
receive_cnt = MSComm1.InBufferCount '接收缓冲区的字节数
Buffer = MSComm1.Input
Arr = Buffer
indate = Val(Arr(0)) '收到的二进制数转换成十进制数
If num = 0 Then
Text2.Text = indate
ElseIf num = 1 Then
Text3.Text = indate
End If
num = mum + 1
If num = 2 Then
num = 0
End If
End Sub
我下位机上传两个数据,TEXT2显示第一个数据,TEXT3显示第二个数据。现在,第一次上传的数据显示正常。但是下来显示的数据都在TEXT3中显示是什么问题

[解决办法]

VB code
Option Explicit    Dim receive_cnt    Dim indate As IntegerPrivate Sub Form_Load()    MSComm1.RThreshold = 1    MSComm1.InputMode = comInputModeBinary    MSComm1.PortOpen = TrueEnd SubPrivate Sub MSComm1_OnComm()    Static num As Integer    Dim Buffer As Variant    Dim Arr() As Byte    Select Case MSComm1.CommEvent        Case 2        Text4 = num        Arr = MSComm1.Input        indate = Arr(0) '收到的二进制数转换成十进制数        If num = 0 Then            Text2.Text = indate        ElseIf num = 1 Then            Text3.Text = indate        End If        num = num + 1        If num >= 2 Then            num = 0 'num - 2        End If    End SelectEnd Sub 

读书人网 >VB

热点推荐