blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1083回复:0

IDE模式的小问题

楼主#
更多 发布于:2004-04-24 15:57
uchar cfbusy()
{
    uchar ss;
    ss = Status;
    while((ss&0xc1)!=0x40)
    {
           delay(100);
ss = Error_Reg;
ss = Status;
     }
     return 1;
}
void Enable8bit()
{

    cfbusy();
    Features = 0x01;
    #if __MAST__
    Drv_Head = 0xe0;//11100000b;// bit4=0 as MASTER,
    #else
    Drv_Head = 0xf0;
    #endif
  Command = 0xef;//SetFeature ;
    cfbusy();//这里就出问题了
}
调试程序如上,想将硬盘设置成8位数据方式,可第一次调用cfbusy()时,Status返回0x50,这是正常的,命令发完后,第二次调用cfbusy()时,Status返回0x51,老是报错。这是怎么回事啊?发其他命令时好象可以成功返回。哪位大虾能解释一下啊?
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
游客

返回顶部