想知道 PC 如何区分多个 USB 。例如,当我将闪存驱动器USB插入计算机时,它怎么知道它是闪存驱动器 USB 而不是键盘 USB ?
提前致谢。
答案 0 :(得分:0)
在USB标准中有 USB类记忆棒是 USB海量存储类,键盘,鼠标,操纵杆是 USB HID类(人机接口设备) ),相机实现 USB PTP(图片传输协议),USB到串口(虚拟COM端口,......)是 USB CDC ACM类, ...
以下链接列出了该窗口的所有USB类都有驱动程序https://msdn.microsoft.com/en-us/library/windows/hardware/ff538820%28v=vs.85%29.aspx
当USB设备插入时,USB设备(固件)上的MCU与PC(USB主机)之间存在通信。在此通信中,设备会说明它和主机加载适配驱动程序的哪个USB类
您可以使用wireshark
嗅探此通信或查看dmesg
(在Linux上)
这种沟通非常低级,不易人类阅读。对于此
,有wireshark
或lsusb -v
等工具
USB设备必须实现特殊的描述符层次结构,其中包含USB设备的内部结构的信息。层次结构是:
设备描述符 - >配置描述符 - >接口描述符 - >端点描述符
EP0保留用于控制传输,否则任何传输必须来自或来自端点(OUT端点/ IN端点)
请参阅http://www.beyondlogic.org/usbnutshell/usb1.shtml
USB是一种高度复杂的标准,因为它在一个物理接口中为大量不同的设备实现了广泛的功能。我认为最复杂的USB级标准是USB音频...