将Pin的配置改为上拉 在默认配置函数中HAL_SD_MspInit()对SDIO的Pin的默认配置是GPIO_NOPULL,但我在使用过程中发现,程序会卡死在SD_FindSCR()函数的以下这段代码中: /*卡在这个循环中出不去*/while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | S...
static SD_Error FindSCR(uint16_t rca, uint32_t *pscr) 的过程中总是会卡死在这个while循环里面...
调试中发现,初始化过程中,程序在 static SD_Error FindSCR(uint16_t rca, uint32_t *pscr)复制...
(SDIO->RESP1&SD_CARD_LOCKED)return SD_LOCK_UNLOCK_FAILED;//SD卡处于LOCKED状态 errorstatus=SDIO_SdCardFindSCR(RCA,scr); //得到SCR寄存器数据 if(errorstatus!=SD_OK)return errorstatus; if((scr[1]&SD_WIDE_BUS_SUPPORT)!=SD_ALLZERO) //支持宽总线 { SDIO_SendCmd(SD_CMD_APP_CMD,1,(u32...
函数功能:SD卡底层接口,通过SPI时序向SD卡读写一个字节 函数参数:data是要写入的数据 返回值:读到的数据 */ u8 SDCardReadWriteOneByte(u8 DataTx) { return SPI_ReadWriteOneByte(DataTx); } (2)运行效果 3.3SDIO方式 如果想提高SD NAND的读写速度,可以采用SDIO协议,STM32本身有SDIO的硬件支持,配置好SDIO...
函数 功能:选择sd卡,并且等待卡准备OK 函数返回值:0,成功;1,失败; */void SDCardSelectCS(void) { SDCARD_CS=0; SDCardWaitBusy();//等待成功}/* 函数 功能:等待卡准备好 函数返回值:0,准备好了;其他,错误代码 */void SDCardWaitBusy(void) ...
利用SDIO模式读写sd卡,程序执行到返回SCR寄存器时(static SD_Error FindSCR(uint16_t rca, uint32_t...