如果你能解释什么是 USB PID、J 状态、K 状态和 SOF,你现在可能可以停止阅读了。 但如果你不知道或者想复习一下,你可以花 15 分钟看一下 [Sine Lab's] USB协议细节的直接解释. 您可以在下面找到视频。
这样做的动机是他想使用带有硬件 USB 实现的 ATMega 将 USB 添加到他的项目中。 老实说,大多数时候,你只会使用一些预制的库并让它以这种方式工作。 但是,理解术语会对您有所帮助,尤其是当事情没有按计划进行时。
当然,另一种有用的方法是只使用固定的 USB“串行端口”,并将整个东西当作老式串行端口。 但对于某些事情,您确实希望利用 USB 规范的速度和功能。
视频的最后几分钟是一个实际的例子。 我们同意使用图书馆的决定,在这种情况下,他使用 卢法,一个用于他想要使用的处理器的开源 USB 堆栈。 但了解实际协议将帮助您理解文档并进行故障排除。 该示例使用 HID 设备,这是您必须单独阅读的更多协议。
如果您想 了解有关 USB-C 的更多信息, [Arya Voronova's] 让你满意。 CDC USB 配置文件可以支持多个串行端口,但如果您愿意 滥用单个串口获取多个虚拟端口,这也是可能的。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图区块链。 Web3 元宇宙智能。 知识放大。 访问这里。
- Sumber: https://hackaday.com/2023/03/10/usb-protocol-explained/