标签: usb
请考虑USB 2.0 specification的8.5.3.1节:
控制写入在状态阶段事务的数据阶段传输返回状态信息。
对于控制写入,主机将IN令牌发送到控制管道以启动Status阶段。功能 通过握手或零长度数据包进行响应以指示其当前状态。
在IN事务中,握手由主机而非设备完成!
问题是:设备如何为IN事务发送握手?
答案 0 :(得分:1)
我相信有些误解。
设备在IN事务(控制写入)的握手阶段发送NAK / STALL。如果在状态阶段没有数据包。
如果有来自函数的与IN令牌相对应的数据包,则该函数在发送数据包后会期待来自主机的ACK握手。
状态阶段的数据包是零长度数据包。
这是问题中场景的说明:
另请参见评论中的链接。