swordgun
驱动牛犊
驱动牛犊
  • 注册日期2004-10-25
  • 最后登录2005-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1715回复:8

SL811HS做主机使用SCSI命令时的奇怪问题。

楼主#
更多 发布于:2005-01-04 09:45
我使用SL811HS做主机,能成功得对设备(U盘)进行枚举,但是在使用SCSI指令的时候,却出现了以下问题:单独执行Inquiry指令或者ReadCapacity时都能正确返回CSW包,但是将两条命令放在一起依次执行时,前一条命令能正确执行,后一条命令在执行过程中,EP0Status的值始终是0x40,即设备始终返回NAK包。百思不得其解,恳请各位大侠指点,多谢!

最新喜欢:

ww7002ww7002
playboysun
驱动牛犊
驱动牛犊
  • 注册日期2003-10-16
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-04 10:58
楼主兄弟 我在做枚举 老通不过 能发枚举的程序帮帮我吗?
我的QQ:8892710
swordgun
驱动牛犊
驱动牛犊
  • 注册日期2004-10-25
  • 最后登录2005-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-04 14:45
我程序写得挺乱的,基本是照着文档上抄的,又根据自己的情况做了简化。你有什么具体问题,贴出来大家讨论吧!
shen_51000
驱动牛犊
驱动牛犊
  • 注册日期2004-10-12
  • 最后登录2006-05-14
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-05 14:49
我也顶一下
另外想问一下楼主:要使U盘枚举通过,除了device自带的与pc通信的命令处理外(get_des,set……)还要处理其他什么命令吗?
ps:用的win2000自带驱动
蓝蓝的天空上有一朵白云……
ksnet
驱动牛犊
驱动牛犊
  • 注册日期2002-12-24
  • 最后登录2007-07-10
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-05 17:44
1.swordgun: 0x40代表错误,看看是不是需要delay,或者你的两条命令连续发送过程中会出现问题。通常是发送的数据不对会返回0x40
swordgun
驱动牛犊
驱动牛犊
  • 注册日期2004-10-25
  • 最后登录2005-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-06 08:51
to:shen_51000:我是用SL811做主机对U盘进行枚举,但根据你的问题你好像是做U盘的,U盘那边应该怎样处理我就不太清楚了!我是只用了你所说的那些标准命令。
wangweigang
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2014-05-09
  • 粉丝0
  • 关注0
  • 积分111分
  • 威望21点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-10 21:46
我的问题和你一样 暂时只能用清除来进行下一个命令 不知道为什么
你加我qq43123873或给我发信  我们研究下 现在我没管它直接读写FAT 估计就是慢点er
shen_51000
驱动牛犊
驱动牛犊
  • 注册日期2004-10-12
  • 最后登录2006-05-14
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-11 20:41
虽然我不做host,
但不管HOST,DEVICE,处理相同的协议估计问题也查不多
估计你的问题也在于延时
你发inqury命令后,你有多少的延时等待u盘的回应?
数据和CSW
蓝蓝的天空上有一朵白云……
tsingkong
驱动牛犊
驱动牛犊
  • 注册日期2003-03-25
  • 最后登录2013-11-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-01-17 16:37
我使用SL811HS做主机,能成功得对设备(U盘)进行枚举,但是在使用SCSI指令的时候,却出现了以下问题:单独执行Inquiry指令或者ReadCapacity时都能正确返回CSW包,但是将两条命令放在一起依次执行时,前一条命令能正确执行,后一条命令在执行过程中,EP0Status的值始终是0x40,即设备始终返回NAK包。百思不得其解,恳请各位大侠指点,多谢!


哎呀,我用ISP1161也遇到同样的问题了!
这么说来,不是U盘的问题。也不是USB芯片的问题。
对了,我用的单片机是AT89S52,Wave的仿真器。
感觉我的程序也没有问题,完全按照协议来的,可是,怎么就不对呢。
mailto:tsingkong@163.com
游客

返回顶部