首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2012-12-15 
VB串口通信遇到的问题2Private Sub MSComm1_OnComm()Static num As IntegerStatic indate0 As IntegerStat

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进制了

热点排行