|
问题是这样的,在枚举usb设备之前都必须调用usb_init();
printf("usb bus finds=%d\n",usb_find_busses());
printf("usb devices finds=%d\n",usb_find_devices());
这三个函数,我调用了,发现返回值分别是 3 3说明找到三条总线,以及三个USB设备。
但是接下来,我用下面的代码 struct usb_bus * bus;
struct usb_device * dev;
usb_dev_handle *udev;
int ret;
for (bus = usb_busses; bus; bus = bus->next)
{
for (dev = bus->devices; dev; dev = dev->next)
{
if(dev->descriptor.idVendor == DEVICE_VID)
{
switch(dev->descriptor.idProduct)
{
}
}
}
}
上面的代码我打印了获取到的dev->descriptor.idVendor这个值始终为0000。这是怎么回事
??按说因该可以找到usb设备的?我的linux内核是2.6.21的。在x86的硬件平台运行。请论坛的朋友们帮忙看看,谢谢啦! |
|