|
楼主 |
发表于 2008-7-1 09:28:30
|
显示全部楼层
多谢关注!但是我看了一下板子内核的版本是2.6.12,
而且我那个程序只是使用了“usb.h”,这个文件似乎linux自己就有。。。。
请教版主和各位达人:还有可能是什么原因造成无法正确检测USB设备信息??源代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <usb.h>
void usbio_main(struct usb_device *dev)
{
usb_dev_handle *dev_handle;
dev_handle = usb_open(dev);
if (dev_handle == NULL) {
printf("USB IO open failed.\n");
return;
}
usb_close(dev_handle);
}
struct usb_device *usbio_probe()
{
struct usb_bus *busses, *bus;
// int c, i, a;
usb_init();
usb_find_busses();
usb_find_devices();
busses = usb_get_busses();
for (bus = busses; bus; bus = bus->next) {
struct usb_device *dev;
for (dev = bus->devices; dev; dev = dev->next) {
struct usb_device_descriptor *desc;
desc = &(dev->descriptor);
printf("Vendor/Product ID: %04x:%04x\n", desc->idVendor,
desc->idProduct);
if (1) {
return dev;
}
}
}
return NULL;
}
int main()
{
struct usb_device *dev;
struct usb_device_descriptor *desc;
dev = usbio_probe();
desc = &(dev->descriptor);
if (dev == NULL) {
printf("USB IO Card not found.\n");
return -1;
}
printf("SUB IO Card found.\n");
printf("Vendor/Product ID: %04x:%04x\n", desc->idVendor,
desc->idProduct);
usbio_main(dev);
}
看功能仅仅是显示设备信息,但是在板子上运行总是显示:USB IO Card not found.
似乎没有找到USB设备?
可是当我插上设备的时候,板子明明有USB信息,如下:
usb 1-1: new low speed USB device using s3c2410-ohci and address 4
usb 1-1: Product: Twin USB Gamepad
input: USB HID v1.10 Joystick [Twin USB Gamepad ] on usb-s3c24xx-1
是什么原因造成的呢?请帮帮忙啊!多谢! |
|