USB协议中的返回包含义

三种返回确认信息

ACK 、NAK 、STALL

【ACK 包】

ACK(确认) 表示 主机和设备已经收到数据,没有出现错误。设备必须在Setup 事务的交换包中返回ACK,设备也必须在OUT事务的交换中返回ACK。

主机在IN事务的交换包中返回ACK。

【NAK 包】(NAK包只能从设备发向主机)

NAK(未确认) 表示设备正忙或没有数据要返回。如果主机在设备太忙而不能接受数据时发送数据,

则设备在交换包中发出NAK。如果主机在设备没有数据可发送时向设备请求数据,则设备在数据包

中发出NAK。在上述两种情况的任何一种下,NAK表示一个暂时的状况,而主机会在以后重试。

【STALL包】

不支持的控制请求,控制请求失败或终端失败

当一个设备接收到一个终端不支持的控制传输请求,那么这个设备返回一个STALL 给主机。设备

在它支持这个请求但是由于某些原因不能采取请求的动作时,也会发出STALL给主机。

STALL 的另一个用途是在终端暂停特性设置的情况下来响应传输请求,表示终端根本不能发送

或接收数据。规范称这个类型的延迟为功能延迟。

批量和中断终端必须支持功能延迟。

在接收到一个功能STALL后,主机停止所有与设备悬而未决的请求,并且不会恢复通信直到它

已经发送一个成功的请求来清除设备的暂停特性。主机绝不会发送STALL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值