cjq_enjoy-15073 发表于 2015-1-19 08:46:53

stm32 sdio上电读取SD卡有时死循环了,卡使用高速卡,2G以下...

sdio上电读取SD卡有时死循环了,卡使用高速卡
while ((!validvoltage) && (count < SD_MAX_VOLT_TRIAL))
    {
              /*!< SEND CMD55 APP_CMD with RCA as 0 */
      SDIO_CmdInitStructure.SDIO_Argument = 0x00;
      SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD;
      SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;
      SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
      SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
      SDIO_SendCommand(&SDIO_CmdInitStructure);
              errorstatus = CmdResp1Error(SD_CMD_APP_CMD);
              if (errorstatus != SD_OK)
      {
      return(errorstatus);
      }
      SDIO_CmdInitStructure.SDIO_Argument = SD_VOLTAGE_WINDOW_SD | SDType;
      SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_APP_OP_COND;
      SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;
      SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
      SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
      SDIO_SendCommand(&SDIO_CmdInitStructure);
              errorstatus = CmdResp3Error();
      if (errorstatus != SD_OK)
      {
      return(errorstatus);
      }
              response = SDIO_GetResponse(SDIO_RESP1);
      validvoltage = (((response >> 31) == 1) ? 1 : 0);
      count++;
    }

拼命三郎 发表于 2015-1-19 09:03:41

试试2G以上的

五哥1 发表于 2018-6-5 23:52:41

用跟踪看看卡死在那一句了?
页: [1]
查看完整版本: stm32 sdio上电读取SD卡有时死循环了,卡使用高速卡,2G以下...