大家好,请教大家一些问题:状态阶段讲究更多一些,因为这一阶段要返回数据传输成功与否。具体如下:
1. 读数据成功 主机发送OUT令牌包(PING令牌包,高速情况下),主机发送0长度数据包,设备ACK.
2. 数据传送出错 主机发送OUT令牌包(PING令牌包,高速情况下),主机发送0长度数据包,设备STALL.
3. 设备忙(比如正在写数据) 主机OUT或(PING令牌包,高速情况),主机发送0长度数据包,设备NAK. 这时主机应该继续发送IN令牌包,持续状态阶段。
这让我很困惑,把我的疑问列出来,知道的一定要帮忙解释一下,不确定的,也欢迎加入讨论,谢谢~
1.为什么由设备决定传输成功与否?
2.什么情况下,会让设备认为传输出错,并进入引用部分的第二条,即在握手时返回STALL?
3.什么情况下,设备会忙,并握手返回NAK?这不是设备把数据传给主机的吗?进入到状态阶段,数据应该是传完了啊。
上面三个问题,谢谢大家了。 |