阅读:1202回复:3
host在write10之后发送数据总是少64bytes,求救!
host向device发送write10命令后总是少发64bytes的数据,例如,要发512字节,发了448字节就不发了;要发1024字节,发了960字节就不发了,总是还差64字节,endpoint的最大传输是64字节。
这是何故?请大虾指点; 以前frank曾经遇到过这个问题,他的解决办法是受到448字节后向主机传一个CSW,然后主机就会将剩下的64字节发过来;这个方法欧也试了,问题是64字节发到设备后紧接着下一个cBW就到了,而设备这边受到完整的512字节后还需要将其写到存储介质上去,因此来不及响应下一个CBW,郁闷啊,求救! |
|
沙发#
发布于:2003-07-11 10:59
我觉得可能是你的接受程序得流程有问题!应该说你的前面得64byte没受到!
|
|
板凳#
发布于:2003-07-11 11:07
你发的数据是用循环发的吗,看看是不是少循环了一次?
|
|
地板#
发布于:2003-07-11 13:15
数据是从主机发到设备的endpoint,每收到64字节会产生一个中断,然后将这64字节放到buffer里去,现在的问题是产生7次中断受到448字节后没有产生中断,如果此时返回一个CSW就会受到后续的64字节。
|
|