usb协议定义以一个短包来标识数据传输的结束。但是并没有规定对于一个长度正好的数据包,是否一定需要一个0长度的包来标识传输结束。也就是说可以发一个0长度包,也可以不发。这取决于pc端的驱动是如何处理这种情况 ...
谢谢你的解答~
USB协议是这么说:
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
看起来ZLP确实不是强制的,那么只能在数据包里自定长度协议了.
也感谢圈圈的解答,前阵子看圈圈的书入的门~