VB串口通信遇到的问题2
Private Sub MSComm1_OnComm()
Static num As Integer
Static indate0 As Integer
Static indate1 As Integer
Static wendua As Single
Dim Buffer As Variant
Dim Arr() As Byte
Select Case MSComm1.CommEvent
Case comEvReceive
Arr = MSComm1.Input
indate = Arr(0) '收到的二进制数转换成十进制数
If num = 0 Then
indata0 = Val(indata)
Text2.Text = indate0
ElseIf num = 1 Then
indata1 = Val(indata)
Text3.Text = indate1
wendu = (indata0 + indata1 * 256) * 0.0625
Text4.Text = wendu
End If
num = num + 1
If num >= 2 Then
num = 0 'num - 2
End If
End Select
End Sub
为什么这样TEXT2.TEXT3.TEXT4都显示0
我就把上传的那两个数据计算一下,为什么如果不加indata0=indata,indata1=indata就是正确的;加了就错了
[解决办法]
indata是二进制,你用val能转成整型给indata0吗?你要写个转换的小函数才可以。
[解决办法]
indata已经是10进制了