首页 > 解决方案 > HAL_SD_ERROR_UNSUPPORTED_FEATURE

问题描述

我希望有人正在使用 STM/HAL。我正在尝试使用 SDIO 的 SD 卡。我尝试通过以下方式初始化 SD 卡:

void StartDefaultTask(void const * argument)
{
  /* USER CODE BEGIN 5 */

    MX_FATFS_Init();
    f_mount(&SDFatFS,(TCHAR const*)SDPath,0);
    if (f_mount(&SDFatFS,(TCHAR const*)SDPath,0) != FR_OK)
    {
        while(1);
    }

    if (f_open(&SDFile, "Neu.TXT", FA_CREATE_ALWAYS | FA_WRITE)!= FR_OK){
     while(1);
    }
}

第一个 if,我认为检查是否连接了 SD 卡。第二个将尝试打开它并创建一个新的文件 Neu.TXT。但不知何故,我一直在第二个 if 子句的 while 循环中着陆。这是发生错误的地方:

    /* Send CMD41 */
    errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACITY | SD_SWITCH_1_8V_CAPACITY);
    if(errorstate != HAL_SD_ERROR_NONE)
    {
      return HAL_SD_ERROR_UNSUPPORTED_FEATURE;
    }

有人看到任何错误吗?感谢您的帮助。

标签: csd-cardstm32f4discoveryhalstm32f4

解决方案


推荐阅读