关于SD卡读写卡死的问题

来源:本站
导读:目前正在解读《关于SD卡读写卡死的问题》的相关信息,《关于SD卡读写卡死的问题》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《关于SD卡读写卡死的问题》的详细说明。
简介:用STM32F4Discovery开发板外接SD卡连接器,进行没有文件系统的读写操作,发现SD卡总是死在SD_Error SD_WaitReadOperation(void)函数中,

用STM32F4Discovery开发板外接SD卡连接器,进行没有文件系统的读写操作,发现SD卡总是死在SD_Error SD_WaitReadOperation(void)函数中,在while ((DMAEndOfTransfer == 0x00) && (TransferEnd == 0) && (TransferError == SD_OK) && (timeout > 0)){ timeout--;}中总是执行不过去,无法触发DMA中断。实验多次,在网上找了很多类似的问题,都没有解决。最后用万用表检查上拉电阻有没有接好,发现D1上的上拉电阻换掉了,变成0R了,将其换上好的,问题立刻解决。D0,D1,D2,D3,CMD.上的上拉电阻很关键,必须加上。SD_Error SD_WaitReadOperation(void){SD_Error errorstatus = SD_OK;uint32_t timeout;timeout = SD_DATATIMEOUT;while ((DMAEndOfTransfer == 0x00) && (TransferEnd == 0) && (TransferError == SD_OK) && (timeout > 0)){ timeout--;}DMAEndOfTransfer = 0x00;timeout = SD_DATATIMEOUT;while(((SDIO->STA & SDIO_FLAG_RXACT)) && (timeout > 0)){ timeout--;}if (StopCondition == 1){ errorstatus = SD_StopTransfer(); StopCondition = 0;}if ((timeout == 0) && (errorstatus == SD_OK)){ errorstatus = SD_DATA_TIMEOUT;}/*!< Clear all the static flags */SDIO_ClearFlag(SDIO_STATIC_FLAGS);if (TransferError != SD_OK){ return(TransferError);}else{ return(errorstatus);}}

提醒:《关于SD卡读写卡死的问题》最后刷新时间 2024-03-14 01:11:22,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《关于SD卡读写卡死的问题》该内容的真实性请自行鉴别。