STM32F103完成对SD卡的数据读取

目录

一、SD卡介绍

1.概述

2.SD模式

3.SD卡读取与写入(SPI模式)

二、 STM32F103完成对SD卡的数据读取

1.代码部分

2.U盘格式化

 3.电路连接

 4.具体实现

三、参考资料


一、SD卡介绍

1.概述

SD存储卡(Secure Digital Memory Card)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储卡的技术是从MMC卡(MultiMedia Card)格式上发展而来,在兼容SD存储卡基础上发展了SDIO(SD Input/ Output)卡,此兼容性包括机械,电子,电力,信号和软件,通常将SD、SDIO卡俗称SD存储卡。

SD卡具有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性,它被广泛地应用于便携式装置上,例如数码相机、平板电脑和多媒体播放器等。

SD卡的结构能保证数字文件传送的安全性,也很容易重新格式化,所以有着广泛的应用领域。音乐、电影等多媒体文件都可以方便地保存到SD卡中。

SD卡作为一种新型的存储设备,具有以下特点:

●高存储容量,最常用的容量:8GB、16GB、32GB、128GB、256GB等。

●内置加密技术,适应基于SDMI协议的著作版权保护功能。

●高速数据传送;最大读写速率为100MB/s。

●体积轻小,便于携带,具有很强的抗冲击能力。

2.SD模式

驱动模式:

SD卡有两种驱动模式:SPI模式与SDIO模式。它们所使用的接口信号是不同的。在SPI模式下,只会用到SD卡的4根信号线,即CS、DI、SCLK与DO(分别是SD卡的片选、数据输入、时钟与数据输出)。

传输模式:

SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式(独立指令和数据通道,独有的传输格式),4位SD模式(使用额外的针脚以及某些重新设置的针脚。支持四位宽的并行传输)

3.SD卡读取与写入(SPI模式)

 1、发送CMD17;
2、接收卡响应R1;
3、接收数据起始令牌0XFE;
4、接收数据;
5、接收2个字节的CRC,如果不使用CRC,这两个字节在读取后可以丢掉。
6、禁止片选之后,发多8个CLK;
以上就是一个典型的读取SD卡数据过程。

SD卡的写于读数据差不多,写数据通过CMD24来实现,具体过程如下:
1、发送CMD24;
2、接收卡响应R1;
3、发送写数据起始令牌0XFE;
4、发送数据;
5、发送2字节的伪CRC;
6、禁止片选之后,发多8个CLK;
以上就是一个典型的写SD卡过程。

 

二、 STM32F103完成对SD卡的数据读取

1.代码部分

工程链接:https://pan.baidu.com/s/1c3bl54aSPyamkJ3ZqckmTg 
提取码:hz01

打开工程根据自己需求修改代码

 

 编译生成.hex文件

2.U盘格式化

在烧录之前先将SD卡格式化为FAT32文件模式

 3.电路连接

USB TO TTLSTM32F103C8T6
5v5v
GNDGND
RXDA9
TXDA10
STM32F103C8T6SD卡
5vVCC
GNDGND
A4CS
A5SCK
A6MISO
A7MOSI

连接完毕后如下:(我这里用了两个USB TO TTL,其中一个用来给SD卡模块提供5v电源和接地)

 4.具体实现

把生成的hex文件烧录进芯片

打开串口调试助手 ,打开串口(BOOT0置0,并按下RESET键)

前几次试验只显示mian,应该是因为连接不稳,需要确保连接稳定才能成功

 写入成功后,将SD卡插入电脑,打开生成的文件,如下

三、参考资料

SD卡_百度百科

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值