【STM32】使用SDIO进行SD卡读写(四)-介绍库函数,然后开始写代码

分享官方的库函数文档:https://pan.baidu.com/s/1IbthnVlBHS8IUr8zWs3XGA

库函数的位置如下,以及一些库函数的介绍

写程序前,先来厘清思路,免得等等混乱了。我想对SD卡做相关操作,那么,具体的流程如下:

STM32上电后

   ↓

对几个SDIO相关的引脚初始化(查芯片手册,哪几个引脚对应SDIO,还有时钟也要设置)

   ↓

设置中断(SDIO中断,还有优先级之类的)

   ↓

调用库函数,SDIO初始化(库函数名:SDIO_Init,一些初始化的东西,例如频率,卡识别时要先设400K,后续数据传输时可以调高些,另外还有设置几根数据线之类的)

   ↓

调用库函数,设置SDIO上电(库函数名:SDIO_SetPowerState,要使用SD卡,就要把电源打开)

   ↓

调用库函数,使能SDIO时钟(库函数名:SDIO_ClockCmd,和SD卡交互数据需要时钟,识别时,时钟最高设400KHz,后续数据传输的时候可以再改高)

   ↓

调用发送命令的库函数,开始发送命令(CMD)(我第三章博客讲的【SD卡操作流程】,卡识别(卡识别模式)的时候,先发CMD0这个命令(命令的介绍在第二章博客),然后等待响应之类的)

开始一系列识别SD卡的操作(我第一章博客说明了SD卡的种类,通过命令,获得响应没获得响应,都有对应的情况,请参考我第三章博客

   ↓

一系列识别结束,最终发送CMD3,进入数据传输模式,想执行什么,就发送对应的命令(我第三章博客介绍如何进入数据传输模式)

然后就可以做你想要的操作了,例如读取SD卡,或是写入数据,擦除SD卡等等

当然,后续的一切,都是通过命令来执行的

以上就是大致的流程

我分了好几篇博客,没办法,SD卡的操作相当繁琐,如果一篇博客要讲完所有东西,看的人一定头晕死了,分类一下比较清楚

有了思路,就可以开始写代码了

先发布,但我还没写完

明天来处理

猜你喜欢

转载自www.cnblogs.com/PureHeart/p/12046465.html