当前位置: 代码迷 >> 驱动开发 >> 求问 USB 设备驱动 求解!该怎么解决
  详细解决方案

求问 USB 设备驱动 求解!该怎么解决

热度:48   发布时间:2016-04-28 10:32:26.0
求问 USB 设备驱动 求解!
 我在看USB驱动,有一个问题很是迷茫,而且看代码也觉得没找到答案。
描述:
   以 USB鼠标为例子:
 static struct usb_driver usb_mouse_driver = {
.name = "usbmouse",
.probe = usb_mouse_probe,
.disconnect = usb_mouse_disconnect,
.id_table = usb_mouse_id_table,
};


但是我一直比较纳闷,我查了代码,也没有见到有哪个地方与这个usb mouse 有匹配的地方,既然没有为什么当插入鼠标的时候,就能知道是对于的是这个驱动呢而不是去调用其他的驱动呢?? 

看了 enum 也没看出个道来啊。 怎么回事

------解决方案--------------------
你需要看一下usb的设备描述符,各种设备都是通过描述符来进行枚举的!
你百度一下“usb设备描述符”就明白了!
------解决方案--------------------
在硬件接入时,系统会收到硬件的描述符,系统根据描述符中的PID和UID查找到相应的驱动,如果有多个PID和UID都符合的,系统会让你选择。
  相关解决方案