sunq2003
驱动牛犊
驱动牛犊
  • 注册日期2003-05-05
  • 最后登录2003-08-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1202回复:3

host在write10之后发送数据总是少64bytes,求救!

楼主#
更多 发布于:2003-07-11 09:47
host向device发送write10命令后总是少发64bytes的数据,例如,要发512字节,发了448字节就不发了;要发1024字节,发了960字节就不发了,总是还差64字节,endpoint的最大传输是64字节。
这是何故?请大虾指点;
以前frank曾经遇到过这个问题,他的解决办法是受到448字节后向主机传一个CSW,然后主机就会将剩下的64字节发过来;这个方法欧也试了,问题是64字节发到设备后紧接着下一个cBW就到了,而设备这边受到完整的512字节后还需要将其写到存储介质上去,因此来不及响应下一个CBW,郁闷啊,求救!
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-11 10:59
我觉得可能是你的接受程序得流程有问题!应该说你的前面得64byte没受到!
luckyjm
驱动中牛
驱动中牛
  • 注册日期2002-12-19
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-11 11:07
你发的数据是用循环发的吗,看看是不是少循环了一次?
sunq2003
驱动牛犊
驱动牛犊
  • 注册日期2003-05-05
  • 最后登录2003-08-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-11 13:15
数据是从主机发到设备的endpoint,每收到64字节会产生一个中断,然后将这64字节放到buffer里去,现在的问题是产生7次中断受到448字节后没有产生中断,如果此时返回一个CSW就会受到后续的64字节。
游客

返回顶部