
1. 引言 某客户在项目开发中用到 STM32L462 的 SDMMC 接口去进行 SD 卡的读写,发现用 SDMMC中断、 Polling 查询的方式都可以进行连续的读写交替循环操作,但是用 DMA 的方式进行该操作时,发现不能进行多次的读写。 2. 原因分析 客户提供了它的硬件电路板和部分原理图: ![]() 2.1 客户现象复现: 2.1.1 CubeMX 的配置 CubeMX V6.3.0 中关于 SDMMC 外设的配置如下: 图2. SDMMC 在 CubeMX 中的配置 ![]() ![]() ![]() ![]() 这里结合客户的原理图,还要配置一下 PC13 即给 SD 卡供电的引脚,要不然,后面调试 SD 卡时,MX_SDMMC1_SD_Init();初始化过不了。 ![]() 其他的配置保持默认,系统时钟源选择 HSI 经过 PLL 锁相环,SYSCLK=64MHz,SDMMC1 的时钟为 48MHz,分频系数 SDMMCCLK clock divide factor 为 0,但是参考手册公式,SDMMC_CK = SDMMCCLK / [CLKDIV + 2]。所以 SDMMC_CK 频率这里是 24MHz。 ![]() CubeMX 配置好后,直接生成代码。 完整版请查看:附件 |
LAT1071 STM32L462REI6 SDMMC DMA Read_Write_v1.0.pdf
下载2.03 MB, 下载次数: 9
【STWINKT1B评测】2.初步测试IIS3DWB振动传感器
经验分享 | STM32双定时器+ADC+DMA实战案例
经验分享 | STM32U5系列TIMER+DMA+DAC应用演示
经验分享 | 基于STM32H7 UART 空闲事件及DMA传输示例
经验分享 | 关于STM32 DMA传输的两个问题释疑
经验分享 | STM32G4 UART+TIMER+DMA应用示例
经验分享 | STM32 TIMER+DMA输出PWM异常二案例
经验分享 | STM32H7 EXTI + SPI +DMA 双缓冲应用演示
经验分享 | STM32H563 UART+DMA 2D功能演示
经验分享 | 基于STM32H563 USART演示DMA链表功能