smartsheep
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2007-04-27
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:2291回复:2

test unit ready 一关过不了

楼主#
更多 发布于:2004-12-16 09:47
test unit ready 一关过不了

本人的USB开发已进入大容量枚举,也就是通过bulk-only传输来发UFI 或SCSI命令的阶段,发第一个命令SPC_Inquiry()通过,第二个命令单元测试 SPC_TestUnit()没有反应了。SPC_TestUnit()里发送的命令CBW为



85 83 66 67 96 166 36 222 0 0



0  0   0   0   6   0    0   0   0   0



0  0   0   0   0   0    0   0   0   0  0



大家帮忙看看问题出在哪里,或者告之什么情况下SPC_TestUnit这一步会出错,非常感谢。 代码如下




unsigned char EnumMassDev(void)
{

PMBR_BLOCK pMBR;
PBPB_BLOCK pBPB;
////////////////////////////////////////////////////
if(!SPC_Inquiry())     //查询  
  return FALSE;
//if(!SPC_READLONG())
// return FALSE
if(!SPC_TestUnit())     //单元测试  设备是否准备好
  return FALSE;
__pio_output_1(LED2);
if(!SPC_LockMedia())    //锁定设备,不允许移除
  return FALSE;
if(!SPC_RequestSense())    //主机请求判别参数    
  return FALSE;
if(!SPC_TestUnit())
  return FALSE;
if(!RBC_ReadCapacity())    //主机读当前介质容量
  return FALSE;
smartsheep
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2007-04-27
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-04 09:23
up

各位仁兄来看看啊, 相信对大家也有帮助
wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2005-01-04 09:36
test 多试几次,一次设备没准备好,你就等一会再发一次看看好不好。

我这有个u盘就是一次肯定是不好,发第二次它就返回 ok了。
游客

返回顶部