#c #sd-card #stm32f4discovery #hal #stm32f4
Вопрос:
Я надеюсь, что кто-то работает с STM/HAL. Я пытаюсь использовать SD-карту SDIO. Я пытаюсь инициализировать SD-карту с помощью:
void StartDefaultTask(void const * argument) { /* USER CODE BEGIN 5 */ MX_FATFS_Init(); f_mount(amp;SDFatFS,(TCHAR const*)SDPath,0); if (f_mount(amp;SDFatFS,(TCHAR const*)SDPath,0) != FR_OK) { while(1); } if (f_open(amp;SDFile, "Neu.TXT", FA_CREATE_ALWAYS | FA_WRITE)!= FR_OK){ while(1); } }
Первое «если», я думаю, проверяет, подключена ли SD-карта. Второй попытается открыть его и создать новый файл Neu.TXT. Но каким — то образом я продолжаю попадать в цикл while второго предложения if. Именно здесь возникает ошибка:
/* Send CMD41 */ errorstate = SDMMC_CmdAppOperCommand(hsd-gt;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; }
Кто-нибудь видит какую-нибудь ошибку? Спасибо вам за помощь.
Комментарии:
1. Я думаю, что этот вопрос относится к электронному обмену стеком. Также ваша SD-карта отформатирована в fat ?