版块
论坛
喜欢
话题
应用
搜索
登录
注册
qianyu123的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=41427
讨论(一样给分)
我原先用的是朗科的双启动型ODH016L,只有REQUEST SENSE命令可以循环操作,READ CAPACITY和READ(10)命令不能循环操作,只能操作一次,要重新操作必须重新复位和枚举;今天我偶然换成了朗科的无驱高速型ODF032,发现上面的三种命令可以循环操作....
全文
回复
(
31
)
2002-12-23 14:56
来自版块 -
USB驱动开发
◆
◆
表情
告诉我的粉丝
提 交
lxb_gd
:
Tornado 兄:谢谢您的提醒,我的问题解决了。问题出现在read10命令中,返回的块数问题上,我写了0x100个快,当然要接受久点啦。 cbw中的命令长度为0x10没问题,只要前面几个有效字节对就行了,多余的添0x00.解决后,才发现这个问题很傻。不知道如何给分您呢?真的很...
(2002-12-26 09:20)
回复
TornadoII
:
cbw = 0x55 0x53 0x42 0x43 0 0 0 0 0x1f 0x00 0 0 0x80 0 0x10 后面就是上面贴的命令了。 后面命令的长度 0x10 也应该是变的。 Read10里,读出的块数为0x100,这可是一个很长的数据啊,你可能没有接...
(2002-12-26 08:37)
回复
lxb_gd
:
我估算了一下,全速运行大约7秒后,灯停止闪烁,CSW有效读出,显示OK,我的CBW中长度为0X200,READ10命令返回长度为0X200,一个扇区的读出,需要这么长的时间吗?真想不明白!
(2002-12-25 17:47)
回复
lxb_gd
:
是不是我的缓冲区太小(256bytes),u盘读一次返回512bytes,导致我这样的问题呢? 各位DX帮帮忙! :(
(2002-12-25 17:37)
回复
lxb_gd
:
改了,还是没作用。但有一个新发现: 我死循环的读,全速执行后(执行时还是闪),再暂停,灯就不闪了,也受到csw,结果ok,但不知道循环了多少?奇怪????
(2002-12-25 16:36)
回复
qianyu123
:
你的命令长度也不对,是0X0A吧。你的是0X10。
(2002-12-25 16:09)
回复
lxb_gd
:
我把cbw中的dcbwdatatransferlength改为0x200,但灯还是闪,不停的读,csw还是没读到!没法了!
(2002-12-25 16:01)
回复
qianyu123
:
我的READ10命令如下:BYTE READ10[31]=0x55,0x53,0x42,0x43,0,0,0,0,0x00,0x02,0,0,0x80,0,0x0a, 0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00}; ...
(2002-12-25 12:00)
回复
lxb_gd
:
cbw = 55 53 42 43 00 00 00 00 1f 00 00 00 80 00 10 后面就是上面贴的read10命令。 怎样?
(2002-12-25 11:50)
回复
lxb_gd
:
我写了个函数,先发cbw固定部分,参数为bmcbwflags,transferlen, 和命令数组指针。 cbw = 0x55 0x53 0x42 0x43 0 0 0 0 0x1f 0x00 0 0 0x80 0 0x10 后面就是上面贴的命令了。
(2002-12-25 11:48)
回复
1
2
3
4
下一页 »
qianyu123
加关注
写私信
0
关注
0
粉丝
135
帖子
返回顶部