搜索
bottom↓
回复: 13

分享一个STM32F103RET6的SPI1接口读写SD卡例子

[复制链接]

出0入0汤圆

发表于 2015-8-29 14:29:53 | 显示全部楼层 |阅读模式
STM32RET6可以用两种接口操作SD卡:SPI模式和SDIO模式,这个例子采用的是SPI模式。

硬件连接:
SD_CS      : PA4
SD_SCK     :PA5
SD_MISO   :PA6
SD_MOS I  :PA7

然后说一下SPI的初始化工作。阅读网上的代码,发现STM32 V2的库函数和V3函数中,关于SPI端口初始化的部分还是有些出入的。
V2库中,把SCK,MOSI,MISO全部设置为复用输出。而V3库中,SCK,MOSI设置为复用输出,而MISO设置为浮动输入。在SD的SPI接口中,SCK,MOSI和MOSI,甚至包括CS都使用了上拉电阻。
若设定MISO为浮动输入的话,或许会有某些问题,由于SD卡的输出端口驱动能力很弱,很有可能就接收不到返回数据,事实也正是如此。
所以:MISO必须上拉,上拉10K,剩余的MOSI、SCK、CS可以上拉,规范些。

卫生么要用STM32F103RET6?
STM32F103RET6,512K的Flash,64K的RAM,如果仅仅驱动SD卡,仅仅移植FATFS的话,用不到这么大容量的MCU。
但是这里的FATFS涉及到简体中文的支持,也就是CC936.c,发现cc936的文件太大了,以下为MDK4.7编译的结果
      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Object Name
       180         18     175304          0          0       2125   cc936.o
大家看到了,一个转换函数的参数,就用到了180K的Flash空间。容量小的MCU就放弃吧。





最后上程序:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-8-29 15:43:15 | 显示全部楼层
大文件干嘛要放在ROM中,ROM主要是给你存程序的,大文件完全可以放在外部FLASH中啊,字库、开机界面等等都是这么做的

出0入0汤圆

 楼主| 发表于 2015-8-29 17:27:37 | 显示全部楼层
shenbk 发表于 2015-8-29 15:43
大文件干嘛要放在ROM中,ROM主要是给你存程序的,大文件完全可以放在外部FLASH中啊,字库、开机界面等等都 ...

通常编译器会把全局或静态const变量分配到FLASH

出0入0汤圆

发表于 2015-8-31 09:27:26 | 显示全部楼层
外部FLASH中,什么叫外部,比如W25Q32等类似的芯片

出0入0汤圆

发表于 2015-8-31 11:05:43 | 显示全部楼层
看一下,学习学习。

出0入0汤圆

 楼主| 发表于 2015-8-31 16:51:52 | 显示全部楼层
shenbk 发表于 2015-8-31 09:27
外部FLASH中,什么叫外部,比如W25Q32等类似的芯片

好创意,下一步可以做。成本稍稍贵了点

出0入0汤圆

发表于 2015-9-7 22:28:56 | 显示全部楼层
楼主,你的SD卡是多大的?

出0入0汤圆

 楼主| 发表于 2015-9-8 15:08:16 | 显示全部楼层
LingYi 发表于 2015-9-7 22:28
楼主,你的SD卡是多大的?

4G的,4G的,4G的,4G的,

出0入0汤圆

发表于 2015-9-8 23:01:36 | 显示全部楼层
yiyamala 发表于 2015-9-8 15:08
4G的,4G的,4G的,4G的,

哦,我现在也在弄,体积大的那种 SD卡读写都没有问题,尺寸小的SD卡 初始化可以,开始几次读写都没有问题,几次之后就无法读写了。

出0入0汤圆

发表于 2015-9-9 08:45:52 | 显示全部楼层
好            

出0入0汤圆

发表于 2016-4-26 15:59:50 | 显示全部楼层
SD卡SD卡。。SPI读写SD卡

出5入8汤圆

发表于 2016-10-3 15:44:15 | 显示全部楼层
谢谢 楼主分享完整资料

出0入0汤圆

发表于 2017-1-20 14:57:06 | 显示全部楼层
正需要此文件研究研究

出0入0汤圆

发表于 2017-2-14 08:18:33 | 显示全部楼层
试试8G的能支持吗
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 01:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表