|
借用usb_sckel.c写设备驱动,只改了设备ID等,编译成功后:
insmod usb_sckel.ko
lsmod查看USB的主设备号为180,我的驱动的从设备号为192.
mknod /dev/usb/sckel c 180 192
然后写了一个简单的测试函数
int main()
{
int fd = open("/dev/usb/sckel", O_RDWR);
if(fd == -1){
cout << "open usb fail!\n";
return fd;
}
int i=0;
for(int k=0; k<10; k++) {
read(fd, &i, sizeof(int));
cout<<i;
}
return 0;
}
测试函数中open()调用正常,查看了调试信息,probe()也正确,找到了IN和OUT端点,但是read()函数时,到了usb_bulk_msg()时出错!!!似乎根本就收不到数据,最后超时返回了。
不知道原因,请教各位!谢谢! |
|