一个USB协议的问题:USB通信是如何结束一次传输的?
比如上位机的驱动程序要从下位机读取1500个字节数据,而下位机USB设备发送给上位机驱动程序1000个字节数据后,如何告诉USB总线说:“我就只有这么多数据,本次传输结束”,然后USB总线就告诉上位机的驱动程序说“这次传输结束了”,于是上位机的驱动程序就可以返回了。这样,上位机驱动程序就成功接收了1000个字节数据(虽然请求的是1500个字节数据,而实际只收到1000个字节数据)。这个USB协议里面好像没有说明如何实现,很多资料都只是说到USB包的格式,但是也没有说明这一点,比如一个包是500B,那么下位机向USB总线发送了两个包后(即发送了1000个字节数据),如何告诉USB总线本次传输结束? |