VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 7195|回复: 0

[求助] USB传输大量数据(接口芯片PDIUSBD12) vb上位机通过调用DLL实现数据传输

[复制链接]
 楼主| 发表于 2011-4-20 21:10:01 | 显示全部楼层 |阅读模式
本帖最后由 yutianku 于 2011-4-20 21:10 编辑

USB传输大量数据(接口芯片PDIUSBD12) vb上位机通过调用DLL实现数据传输,现在的问题:只能接收128字节!
部分程序如下:
Function recdata(ByRef prec As Byte, ByVal ilen As Integer)
Dim i, ret, j, k, offset As Integer   
Dim ack As Byte   
Dim sendbuf(3) As Byte   
   i = ilen \ 128                       '//计算有多少个整数包(每包128字节)   
   j = ilen Mod 128                     '//剩余包数  
   offset = 0   
For k = 1 To i         
     sendbuf(0) = &H2                ' //命令  
     sendbuf(1) = offset \ 256       ' //下位机接收缓冲区偏移offset     
     sendbuf(2) = offset Mod 256     
     sendbuf(3) = &H80               ' 每次读的字节数128              
     ret = WriteData(3, sendbuf(0), 4, 3000)               '//发送读命令           
     ret = ReadData(2, prec, 128, 3000) '//读数据      
     offset = offset + 128      
    prec = prec + 128   
Next k   

If j <> 0 Then          ' //读不够128字节的数据  
  sendbuf(0) = &H2      
  sendbuf(1) = offset \ 256      
  sendbuf(2) = offset Mod 256      
  sendbuf(3) = j        
ret = WriteData(3, sendbuf(0), 4, 3000)   '//发送读命令                  
  If ret <> 4 Then        MsgBox "发送错误!", vbInformation, "提示"      
  End If        
ret = ReadData(2, prec, j, 3000)     ' //读j个字节      
  If ret <> j Then        MsgBox "发送错误!", vbInformation, "提示"        
  End If   
End If         
End Function
我怀疑是这里有问题 prec = prec + 128,但又不知怎么改???
具体是我将接收到的数据放在一个文本框中,当设置为接收128字节时,正确显示,但是当设置接收大于128字节,比如256字节时,就只能显示后128字节数据,前128字节数据丢失了????(我用USB捕获工具能确定已发出256字节)调了好久都没有调出来,请哪位高手赐教一下哦,不胜感激!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-6-30 03:59

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表