作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
libusb 是否支持 OUT 事务的 PING 流量控制?
根据我正在连接的设备的数据表,“对于每个 OUT 数据包,都会向主机返回 NYET 握手。主机 ping OUT 端点,当设备的内部处理完成时,会在对 PING 的响应。”
是否可以使用libusb来实现这一点?
最佳答案
PING 是一个 token 数据包,由您的 USB 主机 Controller 而不是软件生成。 PING token 由您的主机 Controller 自动处理。
EHCI Controller 为每个队列头保留 PING 状态位(每个队列头将对应于每个端点)。您的主机 Controller 驱动程序将每个队列头的 ping 状态初始化为 0。
Ping 状态 -
0B -(执行OUT)- 主机 Controller 将在到此端点的下一个总线事务期间使用 OUT PID。
1B - (Do Ping) - 主机 Controller 将在下一个总线期间使用 PING PID 交易到此端点。
协议(protocol) -
主机 Controller 将首先发送OUT数据包。如果响应是 NAK 或 NYET, Controller 会将 ping 状态更改为 1 并开始发送 PING token 。当 PING token 返回 ACK 时,主机 Controller 将引脚状态更改回 0 并重新传输 OUT token 。
所以软件开发者无需担心,您也无需执行任何操作。
关于c# - OUT 事务的 PING 流量控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48875338/
我是一名优秀的程序员,十分优秀!