zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1492回复:7

SL811HS+U盘

楼主#
更多 发布于:2003-09-24 17:43
 我是个USB新手,我现在用SL811HS读写U盘,出现个问题:我发出读命令read(10),CBW 是这样的:
55 52 42 43 28 E8 31 FE 00 02 00 00
80 00 0A 28 00 00 00 00 00 00 01 00
00 00 00 00 00 00 00
发出后应该返回512个字节,但是却直接返回CSW,CSW 是这样的:
55 53 42 43 28 E8 31 FE 00 00 00 00 00
这该如何解释了,
我又发了read capacity,还是只收到CSW,没有数据.
求高手解答原因.

最新喜欢:

ww7002ww7002
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-24 20:17
不对啊,应该有数据啊!你再查查看!
zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-24 20:52
  我换了个U盘,同样的CBW,还是没有数据,只返回CSW,但数据变为:55 53 42 43 28 E8 31 FE 00 02 00 00 00,这说明数据没有传输,但bCSWStatus是00,则以为CBW顺利执行,不知什么原因.


是不是枚举通过后,必须经过inquiry ,read capacity,UFI mode sense,才能发出read(10)


NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-25 11:12
你可以试试!因为有的u盘需要发送mode sense来读取一些信息!
zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-28 19:44
   读的问题我已经解决了,可数据却写不进去.
write(10):
55 52 42 43 28 E8 31 FE 00 02 00 00
80 00 0A 2A 00 00 00 00 80 00 00 01
00 00 00 00 00 00 00
向0x80 中写入512个字节.却读不到CSW,各位大侠看我上述的命令对吗?
另外,资料上说写数据前先要檫除block,是不是在发出write(10)之前,我先要发出檫除命令,如果是,这个CBW命令是什么?
jinfen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-21
  • 最后登录2009-02-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望12点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-09-29 11:00
问个问题:
枚举完成后,我通过OUT口发出INQUIRY的CBW命令块,但是老是得不到结果,读SL811HS的状态寄存器(03h),其值为0x0C,即为超时,不知道是何原因!
INQUIRY命令:55H,53H,42H,43H,88H,0C5H,90H,0FFH
             24H,00H,00H,00H,80H,00H,06H,12H
             00H,00H,00H,20H,00H,00H,00H,00H
             00H,00H,00H,00H,00H,00H,00H
求高手解答原因,等待中.....



[编辑 -  9/29/03 by  jinfen]
zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-06 14:21
  你在CBW中要求inquriy返回的字节数是24H,而你安排的空间却只有20H

  我的问题怎么没有人解决了,大侠救救我
zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-10 11:12
   我是在枚举通过后,直接发上述命令对U盘进行写操作,这样可不可以,是不是在写之前必须做些什么? 大侠们帮忙看看了
游客

返回顶部