计算机如何区分键盘USB和鼠标USB?

时间:2017-01-27 13:10:15

标签: usb usb-drive

想知道 PC 如何区分多个 USB 。例如,当我将闪存驱动器USB插入计算机时,它怎么知道它是闪存驱动器 USB 而不是键盘 USB

提前致谢。

1 个答案:

答案 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上)

这种沟通非常低级,不易人类阅读。对于此

,有wiresharklsusb -v等工具

USB设备必须实现特殊的描述符层次结构,其中包含USB设备的内部结构的信息。层次结构是:

设备描述符 - >配置描述符 - >接口描述符 - >端点描述符

EP0保留用于控制传输,否则任何传输必须来自或来自端点(OUT端点/ IN端点)

请参阅http://www.beyondlogic.org/usbnutshell/usb1.shtml

USB是一种高度复杂的标准,因为它在一个物理接口中为大量不同的设备实现了广泛的功能。我认为最复杂的USB级标准是USB音频...