1.问题描述: 使用STM32CubeMX配置SDIO模式,读取SD卡的信息。
2.实际操作:
(1)CubeMX软件界面配置: I.首先是Pinout界面选择:
文章图片
II.接下来是Configuration界面,点击下图的SDIO,其中串口1是为了输出调试信息。
文章图片
在SDIO选项里,习惯性开启全局中断和DMA使能,实际测试中并未用到。其他全部默认。
文章图片
(2)KEIL5生成代码 首先贴出之前找到的一份参考资料。后续的一些SD读取操作可以参考该文章。
http://www.stmcu.org/module/forum/thread-604576-1-1.html
本文章里最核心的配置部分在于到sdio.c文件的MX_SDIO_SD_Init函数里添加如下图注释的两句代码。
文章图片
这样配置SDIO初始化基本完成。但由于此两句代码均不在用户区,所以当工程更新时,用户需要重新添加代码函数,十分不便。
本人仔细察看cubeMX生成的工程源码,发现在bsp_driver_sd.c这个文件夹下面,BSP_SD_Init这个函数里就包括有以上提到的两句初始化代码。所以实际在main函数中的用户代码段中调用该函数,既可配置成功,又没有重新添加代码的烦恼。实际测试代码如下红框内所示:
文章图片
(3)测试结果: 【STM32CubeMX配置SDIO模式(非DMA方式)】
文章图片
推荐阅读
- stm32|基于STM32和freeRTOS智能门锁设计方案
- 日常分享|共享充电宝方案原理,具体部件组成以及主控MUC参数
- #|ARM裸机开发(汇编LED灯实验(I.MX6UL芯片))
- STM32|STM32的四种IO输出模式
- STM32 远程升级(ISP / IAP)
- stm32|stm32f103can总线过滤器配置
- STM32|如何建一个STM32F030标准库工程模板
- STM32 时钟RCC相关配置参考stm32f10x_rcc.h
- STM32 NVIC