LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1608|回复: 2

请教:主机上编写的USB通信测试程序,下到s3c2440开发板中不能正确运行???

[复制链接]
发表于 2008-6-30 10:00:42 | 显示全部楼层 |阅读模式
我在做USB通信程序,给板子移植了libusb库,在主机编了一个小的测试程序,能够检测出主机上USB设备的信息。但是移植到板子上以后,能够运行,就是不能检测USB设备的信息,感觉就好像没有发现USB似的。不知道是什么原因?请帮忙分析一下,谢谢!
发表于 2008-6-30 22:26:37 | 显示全部楼层
实用libusb前提:
内核版本需要2.6以上的
回复 支持 反对

使用道具 举报

 楼主| 发表于 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

是什么原因造成的呢?请帮帮忙啊!多谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表