版块
论坛
喜欢
话题
应用
搜索
登录
注册
xiaorain的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=54736
主机只能发送却无法接受(usb设备),大家帮帮我吧
我做的是usb转串口的主机端(windows)驱动,设备端是linux,在linnux主机上可以正常的读写,可是到了用我的windows驱动读写设备的时候,只能向设备发送数据,但是无法读回设备的数据,我在驱动中断住看了一下,发现是在发下去读urb以后,一直在等待,(kewaitf...
全文
回复
(
4
)
2004-11-09 20:08
来自版块 -
USB驱动开发
◆
◆
表情
告诉我的粉丝
提 交
ctxez
:
if(status ==STATUS_PENDING) { status = KeWaitForSingleObject(&Event,Executive,KernelMode,FALSE,pTimeout);//这里一直返回超时,如果我一直等的话,程序就死了,sof...
(2004-12-19 11:05)
回复
xiaorain
:
谢谢大侠的回答,可是我的第一个问题是主机无法读回来数据。 我的第二个问题解决了,原因是我在应用程序关闭的时候把所有的pipes都给abort掉了,结果导致了写不下去前64各字节。 可是第一个问题,就是读不回来的问题,还是没有解决,现在发现一直在等待,并且我要打印urb的执行状...
(2004-11-12 12:36)
回复
ctxez
:
我的一点经验: 你的第一个问题是终端接收不到数据,一个容易犯的错误是没有 设置终端的COM口参数,如传输速率,校验位,起始位等。这样终端接受不到数据,当然只有等待。 第二个容易犯的错误是主机与终端的传输速率设置不匹配,USB断口的传输速率快,串口的传输速率慢...
(2004-11-10 17:22)
回复
xiaorain
:
向设备写数据的时候,我用bus hound看了一下,发现第一个urb被cancel掉了,这可能导致了写的时候总是少前64个字节,可是我没有设置cancel啊,可能是什么原因呢?
(2004-11-10 09:17)
回复
xiaorain
加关注
写私信
0
关注
0
粉丝
95
帖子
返回顶部