我使用的是stm32L431RCT6、stm32cubemx6.3.0、L4的v1.151固件库、闪迪16GBTF卡。
配置:
1、使用SD 4 bits Wide bus 模式。
2、clock transition on which the bit capture is made:rising transition。
3、给sdmmc的时钟频率是48MHz,分频系数是4。(如果后面的代码调试过程中显示出错,可以再降低频率)
4、开启sdmmc的RX、TX的DMA。
5、开启sdmmc的中断。保证中断的优先级比DMA的优先级高
6、FATFS选择”SD Card”。
7、CODE_PAGE选择“simplified Chinese”
8、USE_LFN选择“enable with dynamic working buffer on the STACK”.
9、detect_sdio选择一个输入模式的引脚与TF卡相连。
在生成的代码中,将自动生成的“MX_SDMMC1_SD_Init”和“MX_FATFS_Init”注释掉,然后在自己的代码中,重新写上这两个函数。重新初始化。