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

VB6.0与USB连续通讯的有关问题,中

2012-12-23 
VB6.0与USB连续通讯的问题,求助中现已经调通了VB与USB数据的收发,点击一个按纽能通过USB线来获取下位机返

VB6.0与USB连续通讯的问题,求助中
现已经调通了VB与USB数据的收发,点击一个按纽能通过USB线来获取下位机返回的数据。但现在有个业务需求是:在下位机有数据的时候,就往VB软件发送,已知道USB设备是下位没能力直接向上位机发送数据,而需上位机不断发送指令下读USB设备的数据,形成一种查询的方式来模拟VB软件与USB设备的实时通讯。

据以上分析,故使一定时器,间隔1S(因数据速度要求不高)由VB软件下发指令去读取USB设备数据。以下是定时器块程序:

Private Sub tmrData_Timer()
    Dim i As Integer
    
    If FindTheHid = True Then
        tmrData.Enabled = False       '关闭定时
        
        SendBuffer(0) = 0             '缓冲区的第一个字节数 Report ID
        SendBuffer(1) = &HB6
        SendBuffer(2) = HosID
        SendBuffer(3) = DepID
        
        Call VBtoUSB                  '开始发送
        
        For i = 0 To 50
            Debug.Print ReadBuffer(i)
        Next i
        If ReadBuffer(1) = 183 Then  '如果返回数据,做以下操作
            'For i = 0 To 11
            '    ComTemp(i) = ReadBuffer(i + 2)
            'Next i
            'Call WriteTemp
            '接收完成,数据已存入缓冲区,可上报请求等待接收数据,并放入DBBuffer缓冲区
            'Call SendTemp
        End If
        tmrData.Enabled = True         '重新打开定时器
    End If
End Sub


故障现象:程序死机,未能达到预期效果。
不知道是不是我上面的分析有错误,还是程序有BUG,麻烦有过经验的友友支招。(不够分了,只能发在非技术类中,谅解。)
[解决办法]
难度太高了

[解决办法]
引用:
难度太高了


怎么说?能不能简单解释呀?
[解决办法]
还有的函数呢?……VBtoUSB函数? 
可以先使用按键或者其他方式一组组读取打通命令,看看死机不?使用usb通信是直接使用的别个的dll还是什么,有没有获取不到数据跳出的设置,如果下位机有问题或者线连接不上可能死在函数里                  
[解决办法]
弄好了,是下位机程序问题,还是以定时器的方式实现:以PC软件查询的方式来实现VB与USB的实时通讯。

热点排行