报告控制转移的状态结果

时间:2018-08-17 03:46:34

标签: usb

请考虑USB 2.0 specification的8.5.3.1节:

  

控制写入在状态阶段事务的数据阶段传输返回状态信息。

  

对于控制写入,主机将IN令牌发送到控制管道以启动Status阶段。功能   通过握手或零长度数据包进行响应以指示其当前状态。

在IN事务中,握手由主机而非设备完成!

问题是:设备如何为IN事务发送握手?

1 个答案:

答案 0 :(得分:1)

  
    

在IN事务中,握手由主机而非设备完成!

  

我相信有些误解。

设备在IN事务(控制写入)的握手阶段发送NAK / STALL。如果在状态阶段没有数据包。

如果有来自函数的与IN令牌相对应的数据包,则该函数在发送数据包后会期待来自主机的ACK握手。

状态阶段的数据包是零长度数据包。

这是问题中场景的说明:

status stage of control write

另请参见评论中的链接。