阅读:4131回复:9
USB Device如何判断BULK传输结束?
当HOST 发送BULK数据给DEVICE时,如果当前数据包长度是BULK最大传输长度的整数倍,比如64的整数倍,是不是需要HOST发一个0长度的数据包表示该数据包结束,这样DEVICE才能知道本次BULK传输结束,有这方面经验的同学能回答一下吗?是不是这样?
|
|
沙发#
发布于:2008-11-07 15:58
是的
|
|
板凳#
发布于:2008-11-17 15:58
好像不是必须吧?
是不是之前会传一个包告诉device下面要传多少数据 |
|
|
地板#
发布于:2008-12-05 22:07
我也遇到这个问题了,出现收报暂停,郁闷!
不知你解决了没? |
|
地下室#
发布于:2008-12-23 17:23
好像是如果最后最好不满64的话,device就可以直接认为结束。如果是64的整数倍,就要必须传送一个空包
|
|
5楼#
发布于:2009-01-19 10:18
空包是在驱动中还是在应用中来实现??
|
|
|
6楼#
发布于:2009-01-19 10:21
还要请教一下,Device如果发送64的整数倍,是否需要发空包?是否都要在驱动中实现??
|
|
|
7楼#
发布于:2009-02-08 11:10
根据协议,肯定不是传送空包。
我用的是PD12芯片,也遇到这个情况。 最后,我是通过接收状态来及时读取数据的,这样就可以避免等待。 |
|
8楼#
发布于:2009-02-08 11:38
A bulk transfer is complete when the endpoint does one of the following:
• Has transferred exactly the amount of data expected • Transfers a packet with a payload size less than wMaxPacketSize or transfers a zero-length packet |
|
9楼#
发布于:2009-02-14 14:12
同意四楼的观点!
|
|
|