gmmxrr
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2005-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1517回复:4

USB设备上传数据到PC的问题:大数据量传输时总有时传不完整!!!

楼主#
更多 发布于:2004-06-10 14:00
我的上位机程序用windriver和driverstudio写了两个版本.在windriver写的驱动程序调试时,发现wd_transfer()函数在数据传输停止时返回的是发送超时或USB设备没准备号的错误.而在dirverstudio写的驱动调试时,数据传输就一直停止在ReadFile()函数.当我发送少量数据时,并没有出现这个情况.请各位大老指点指点.多谢!
gmmxrr
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2005-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-14 13:51
我现在是这么试的,我一次就发送400KB到PC,试的结果是:一般连续发2~3个400KB的时候就会出错,然后端口停止了,再也不能发送数据了,这时只有重上电。还有一种试法是,我发数据到PC,一次只发64字节到PC,然后不断的发。试的结果是:一般发了12*400KB数据的时候就有可能出错。出错的情况和前一种是一样的。
huyupeng
驱动牛犊
驱动牛犊
  • 注册日期2004-02-17
  • 最后登录2005-08-03
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-14 12:52
我碰到过类似的问题,

在driver中发一个读N Bytes的命令,N>256,结果读回来N-4个Bytes,然后在Driver中判断出已读出的Bytes 为N-4,还差4个,于是再发命令读4 Bytes,然后就死在Readfile上了,

我猜测firmware已经将全部N Bytes传回来了,可能由于USB线路上丢了4个Bytes,所以Driver只收到N-4 Bytes. 此时再读就死机了

你的情况是这样的吗

我也没搞定这个问题,我们一起想办法
天天好心情
gmmxrr
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2005-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-10 16:58
呵呵,这位老大真有意思.知道原因么?这个问题我在这里问了很长时间了,也没见人回答.老兄你不是看到我以前的贴了吧.
larryhh
驱动小牛
驱动小牛
  • 注册日期2001-10-12
  • 最后登录2004-09-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-10 15:43
这个问题好像见过,你查询一下老贴吧,有人问过的
larry
游客

返回顶部