阅读:1493回复:7
SL811HS+U盘
我是个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,没有数据. 求高手解答原因. |
|
最新喜欢:![]() |
沙发#
发布于:2003-09-24 20:17
不对啊,应该有数据啊!你再查查看!
|
|
板凳#
发布于: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) |
|
地板#
发布于:2003-09-25 11:12
你可以试试!因为有的u盘需要发送mode sense来读取一些信息!
|
|
地下室#
发布于: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命令是什么? |
|
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] |
|
6楼#
发布于:2003-10-06 14:21
你在CBW中要求inquriy返回的字节数是24H,而你安排的空间却只有20H
我的问题怎么没有人解决了,大侠救救我 |
|
7楼#
发布于:2003-10-10 11:12
我是在枚举通过后,直接发上述命令对U盘进行写操作,这样可不可以,是不是在写之前必须做些什么? 大侠们帮忙看看了
|
|