我使用的是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”注释掉,然后在自己的代码中,重新写上这两个函数。重新初始化。
本文档详细介绍了如何在STM32L431RCT6微控制器上配置和初始化SD卡,采用4位宽总线模式,设置时钟为48MHz,并使用DMA和中断。同时,配置了FATFS文件系统,选择了SDCard作为存储介质,支持长文件名并使用动态栈工作区。通过调整MX_SDMMC1_SD_Init和MX_FATFS_Init函数实现自定义初始化过程。
5791

被折叠的 条评论
为什么被折叠?



