主题 : linux usb读问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 81805
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2012-11-14
最后登录: 2014-09-29
楼主  发表于: 2012-12-04 14:20

 linux usb读问题

我通过USB对开发板传输数据,通过改写的USB_SKELETON已经可以加载驱动
调用WR函数可向开发板存储空间传输数据,但是RD一直有问题,
RD我采用的就是USB_SKELETON里面的原函数,但是读的时候会停在read函数里德这个
地方:if (!dev->processed_urb)
            {
                   wait_for_completion(&dev->bulk_in_completion);(一直在这里等待)
                   。。。。
            }
我把这里注释掉,rd可完成,但是rd是失败的!
请问大家遇到过么?帮小弟解决下
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2012-12-04 15:27

 回 楼主(iean) 的帖子

wait_for_completion(&dev->bulk_in_completion);(一直在这里等待)

看起来问题是在相应的complete()的地方一直没有被调用到?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 81805
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2012-11-14
最后登录: 2014-09-29
2楼  发表于: 2012-12-05 09:26

 回 1楼(kasim) 的帖子

这个函数我都没改过,就是用的skeleton的原读函数,应该是同样标准的,其他函数似乎都没有问题
为什么这个会出现问题呢
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2012-12-05 12:38

 回 2楼(iean) 的帖子

wait_for_completion(&dev->bulk_in_completion)只有在相应的complete函数调用之后才能继续,我想你需要找到调这个complete的地方,看看为什么它没有被调用到。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 34579
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
综合积分: 36 分
注册时间: 2010-12-17
最后登录: 2013-05-28
4楼  发表于: 2013-02-27 11:10

 回 楼主(iean) 的帖子

您好 可否请教关于USB_SKELETON的驱动,我现在也要实现一个数据通信功能,我的QQ791563787