打印

SDIO初始化出错 发送CM8 长响应返回0x03,请大神帮忙

[复制链接]
473|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用:STM32F411CE片子,移植探索者F407SDIO程序。在SD_Error SD_PowerON(void)这个函数中:

         for(i=0;i<74;i++)
        {

        SDIO_CmdInitStructure.SDIO_Argument = 0x0;//发送CMD0进入IDLE STAGE模式命令.
    SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_GO_IDLE_STATE; //cmd0
    SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_No;  //无响应
    SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
    SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;  //则CPSM在开始发送命令之前等待数据传输结束。
    SDIO_SendCommand(&SDIO_CmdInitStructure);                          //写命令进命令寄存器
               
                errorstatus=CmdError();
               
                if(errorstatus==SD_OK)break;
         }
         if(errorstatus)return errorstatus;//返回错误状态

---------------------------------------------------------------》》》》》》返回时OK的。但是:::

  SDIO_CmdInitStructure.SDIO_Argument = SD_CHECK_PATTERN;        //发送CMD8,短响应,检查SD卡接口特性
  SDIO_CmdInitStructure.SDIO_CmdIndex = SDIO_SEND_IF_COND;        //cmd8
  SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;         //r7
  SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;                         //关闭等待中断
  SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
  SDIO_SendCommand(&SDIO_CmdInitStructure);
        
  errorstatus=CmdResp7Error();                                                //等待R7响应


--------------------------------------------------------------》》》返回的0x03.

大神们需要到这样的问题吗?
有些大神说:SD卡在接收第一个CMD0(Reset)命令时,必须要求DATA0为高.否则,卡会进入不定状态,再也不响应命令了.
小弟很迷蒙,请大神指导

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

384

主题

384

帖子

0

粉丝