USB 2.0高速与全速设备连接与检测机制解析
USB2.0 的设备连接方式里,高速设备其实跟全速设备的连接检测流程差不多,这点多人一开始都搞不清楚。其实关键还是在 D+和 D-线上判断电阻,不管是 High-Speed 还是 Full-Speed,拔插检测和初始化那套流程大体类似,差别只是后续协商速率的时候设备端的响应。
USB 协议这一块,别看名字官方,其实理解起来也不难。你要是搞过嵌入式,比如STM32F407
的 USB HID 示例,用全速模式配上 HID 类,快就能跑起来。网上也有现成例子,像这个例子就挺不错,适合动手党研究。
哦对,还有多人会问怎么调试 USB 设备的通信状态——其实你只要会用USBView
看设备枚举情况,配合抓包工具抓下初始化流程,啥问题都能查出来。HID 类设备还算好整,读写测试也蛮全的。
要是你做上位机,可以看看Delphi 那边用 HID 的例子,就算你不用 Delphi,也能看思路;Android 端想连 USB 打印机也有现成配置方式。反正一个原则——不怕麻烦,多看细节。
,如果你最近在搞 USB 通信,尤其是 HID 类或者设备枚举这块,蛮推荐你把相关协议梳理一遍。这篇 USB2.0 协议深度剖析讲得蛮细,值得收藏。
如果你是做底层驱动的,Windows 下的USB 驱动开发例子也可以参考,挺系统的。别怕 USB 协议难,理解起来就那么回事,多抓几次包,你就懂了。
5.99MB
文件大小:
评论区