| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 基于 STM32F103 在 FATFS 模式下读取 SD 卡 -> 正文阅读 |
|
[嵌入式]基于 STM32F103 在 FATFS 模式下读取 SD 卡 |
目录 ? 1 SD 卡协议 SD 卡(Secure Digital Memory Card)在我们生活中已经非常普遍了,控制器对 SD 卡进行读写通信操作一般有两种通信接口可选,一种是 SPI 接口,另外一种就是 SDIO 接口。 ??? SDIO 全称是安全数字输入/输出接口,多媒体卡(MMC)、SD 卡、SD I/O 卡都有 SDIO 接口。 ? 1.2 SD 卡总线SD 卡一般都支持 SDIO 和 SPI 这两种接口。 ?SD 卡使用 9-pin 接口通信,其中 3 根电源线、1 根时钟线、1 根命令线和 4 根数据线 ? ? ??? SDIO 的通信时序要简单许多,SDIO 不管是从主机控制器向 SD 卡传输,还是 SD 卡向主机控制器传输都只以 CLK 时钟线的上升沿为有效。 1.3 SD 总线协议 SD 总线通信是基于 命令 和 数据 传输的。 ??? 通讯由一个起始位(“0”),由一个停止位(“1”)终止。SD 通信一般是主机发送一个命令(Command),从设备在接收到命令后作出响应(Response),如有需要会有数据(Data)传输参与。 ? 1.3.1 SD 总线—命令SD 命令由主机发出,以广播命令和寻址命令为例,广播命令是针对与 SD 主机总线连接的所有从设备发送的,寻址命令是指定某个地址设备进行命令传输。
? ? 1.3.2 SD 总线—响应 响应由 SD 卡向主机发出,部分命令要求 SD 卡作出响应,这些响应多用于反馈 SD 卡的状态。 ??? SDIO 总共有 7 个响应类型(代号:R1~R7),其中 SD 卡没有 R4、R5 类型响应。特定的命令对应有特定的响应类型,比如当主机发送 CMD3 命令时,可以得到响应 R6。与命令一样,SD 卡的响应也是通过 CMD 线连续传输的。根据响应内容大小可以分为短响应和长响应。短响应是 48bit 长度,只有 R2 类型是长响应,其长度为 136bit。 1.4 STM32 的 SDIO 功能 STM32 控制器有一个 SDIO,由两部分组成:SDIO 适配器和 AHB 接口。 ? ? ??? SDIO 适配器提供 SDIO 主机功能,可以提供 SD 时钟、发送命令和进行数据传输。 2 基于 STM32F103 实现在 FATFS 模式下对 SD 卡的数据读取 ??? STM32CubeMX ??? Keil 5 ??? 串口传输助手 2.2 创建项目 打开 CubeMX,创建形工程,选择 STM32F103C8T6 芯片。 ??? 配置SYS ?配置 SPI1
?配置 GPIO ? ?配置 FATFS
?配置串口 USART1
? ? 配置时钟? ?配置堆栈 生成工程 2.3 代码文件电路连接
?结果展示: ? SD 卡操作需要时间,得等一会,如果串口一直没有回应,可以试试以下操作:
? 总结本次实验中,实现对 SD 卡的数据读写的操作就比较容易了。但是这次项目效果不容易出来,前期遇到了一些问题,在尝试了更换高电压电源之后,才慢慢有了结果,这可能和 SD 卡内存大小或者工程代码有关系,还是要有耐心。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 16:13:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |