因为SDIO协议原理网上都可以找到,以下主要记录使用SDIO遇到的问题
参考驱动代码链接:
1.代码下载:记得修改引脚
2.代码bug修改:
将下图两个红框里的函数替换为SD_WaitWriteOperation
F4系列标准库库SDIO的FatFS例子修改一个bug,可提升4线SDIO的DMA稳定性 - STM32F429 - 硬汉嵌入式论坛 - Powered by Discuz! (armbbs.cn)
3.SD_IO管脚问题:
因为以前没有接触过SDIO协议,调试代码的时候看到每次都会进入到函数SD_GetStatus;->SD_Detect(); -> GPIO_ReadInputDataBit();检测PC0是否被拉低,结果就是检测不到SD卡,但是卡确实插在板子上,后面尝试了对PC0管脚消抖,类似按键开关抖动的问题,加上消抖后问题解决。
另外FATFS文件系统可以移植官方最新库(用工程里的也可以)
FatFs - Generic FAT Filesystem Module (elm-chan.org)
最后感谢硬汉论坛eric2013 -- 硬汉哥就是硬