MCU:STM32F429ZIT6 开发环境:STM32CubeMX+MDK5 外购了一个SPI接口的SD Card模块,想要实现SD存储数据的功能。首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。 此时,双击完后会关闭此界面,然后打开一个新界面。 然后,我们开始基本配置。 现在我们选
一、操作环境IDE:keil 5.25版本(或者更高版本)板子:STM32F767核心板(SDIO接口用于读写SD,片外32M的SDRAM,USB slave)二、BootLoader的的实现和作用在Linux操作系统中一般BootLoader用于引导内核启动,先多板上要用到的外设进行初始化,接着创建一个很小的文件系统,用于引导内核以及根文件系统。在STM32F4系列以及跟高的性能cpu中存在FM
SD 1. SD介绍 1.1 SD简介很多单片机系统都需要大容量存储设备,以存储数据(常用的有U盘、FLASH芯片、SD等),比较而言SD是单片机大容量外部存储的首选,只需要少数几个IO口即可外扩一个容量从几十M到几十G的,且有多种体积尺寸可选(标准SD、TF等)的外部存储器SD(Secure Digital Memory Card)即:安全数码,它是在MMC的基础上发展而来,
原创 2022-01-04 11:38:12
2406阅读
STM32挂载SD记录日志 程序主要是在前一篇的基础上进行。使用CUBE配置STM32挂载TF,请看。 记录日志主要是将运行中的数据转换为字符串,然后再写入到SD。需要解决两个问题:程序中各种格式的数据变量转换为字符串;SD文件关闭后再次打开继续接着写。 解决第一个问题是使用函数sprintf(),函数具体定义和用法请看C标准库。 “%02d”是输出2位宽度的十进制,“%.1f”是输出浮点
转载 5月前
57阅读
SD的驱动和应用困扰了我很久,寒假的时候看到SD简化版物理层协议的时候就傻掉了,看到SD的驱动快3000行的代码也动摇了。这几天几种地看了一下SD的相关内容,总结了一些体会,感觉也没有那么恐怖了。我决定从分层上来讨论SD的驱动和应用,因为这样可以构建一个清晰的逻辑,且不知哪位计算机大师曾说过:一切计算机问题都可以用分层的方法来解决。 我自己把SD从驱动到应用共分为4层,从下至上依次为:驱动层、
转载 6月前
29阅读
STM32CubeMxSD驱动1.SD简介    SD存储(Secure Digital Memory Card)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储的技术是从MMC(MultiMedia Card)格式上发展而来,在兼容SD存储基础上发展了SDIO(SD Input/ Output),此兼容性包括机械,电子,电力,信号和软件,通常将SD、S
推荐 原创 2022-11-30 09:20:57
1383阅读
1点赞
STM32F103完成对SD的数据读取一、SD协议原理1.SDIO协议2.SD物理结构3.SD寄存器列表4.SD初始化(SPI模式)5.SD读写(SPI模式)6.采用SPI方式,连线二、CubeMX创建工程三、代码1.主函数2.编译四、结果参考 一、SD协议原理1.SDIO协议SD(Secure Digital Memory Card)在我们的生活中已经非常普遍了,控制器对SD
本文翻译于ST官网文档,《Development guidelines for STM32Cube Expansion Packages》 文章目录介绍1. 总体信息2. 参考和首字母缩写词3. STM32Cube MCU软件包和STM32Cube扩展软件包3.1 STM32Cube MCU软件包3.2 STM32Cube扩展软件包4. 包装要求4.1 使用STM32CubeMX开发示例4.2 S
由于自己也在使用SD,使用的过程中也遇到了一些问题,下面是在EDN论坛上zxb1717高手的经验,希望可以帮助大家 调试关键点: 1.      上电时要延时足够长的时间给SD一个准备过程,在我的程序里是5秒,根据不同的卡设置不同的延时时间。SD初始化第一步在发送CMD命令之前,在片选有效的情况下首先要发送至少74个时钟,否则将有可能出现
SD一般支持两种读写模式,SPI和SDIO模式,SD的引脚排序如下图所示。SPI模式下有几个重要的操作命令,分别是:SDR1回应的格式如下SPI模式下的典型初始化过程如下:1、初始化硬件配置,SPI配置,IO配置等。2、上电延时。(>74CLK)3、复位。(CMD0)4、激活,内部初始化并获取的类型。5、查询OCR,获取供电情况。6、是否使用CRC(CMD59)。7、设置读写块数
转载 2024-03-30 09:09:49
360阅读
本文采用的HAL库版本为STM32Cube_FW_F1_V1.8.0(带Patch-CubeF1 1.8.4)。知识点一:SD数据线位宽的配置SD可以采用1位数据线模式,也可以采用4位数据线模式。但是必须确保STM32单片机的SDIO设置的数据线位宽,和SD上设置的数据线位宽是一致的。 将hsd.Init.BusWide设为SDIO_BUS_WIDE_4B,然后执行HAL_SD_Init函数
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件SDMMC外设读取SD数据。1. 准备工作硬件准备开发板 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi):Micro SD 小熊派开发板板载 Micro SD 槽,最大支持 32 GB,需要提前自行准备一张 Micro SD,如图:软件准备需要安装好Keil - MDK及芯片对
转载 6月前
104阅读
     SD初始化SD操作的关键。初始化过程需要注意SD的类型。SD(2G以下)和SDHC(2G至32G)分别支持SD协议1.0及2.0,命令和初始化过程略有不同。总线模式分为SPI和SD两种,以SDHCSD模式通信为例,介绍SDHC初始化过程。一、SD Specification V2.0中基本概念1、命令Command &nbsp
本文主要利用STM32F103完成对SD的数据读取,介绍该实验的详细操作一、题目要求二、SD协议原理1、SD简述2、SD物理结构3、SD寄存器4、SD操作模式5、SD初始化(SPI模式)6、SD读取与写入(SPI模式)三、实验操作1、硬件准备2、连线3、HAL库配置4、代码分析5、实验结果分析四、SD累计写入及速率分析1、题目要求2、硬件准备3、实验操作五、总结 一、题目要求掌
转载 2024-05-21 20:09:23
1047阅读
从容量上讲分两种:标准容量和大容量,最小的是标准容量,小于等于2G        其中的访问关系如下:    分为两种模式:认证模式和传输模式,每一个模式包含着不同的状态,如下      以下主要讲其初始化过程:&n
STM32利用SPI读写SD的一些程序详解 关于SD的基础知识这里不做过多陈述,如果有对这方面感兴趣的朋友可以直接百度一下,有很多讲SD的文章,这里主要是针对SD的读写程序实现做一些详细说明。 SD的读写驱动程序是运用FATFS的基础,学了FATFS就可以在SD上创建文件夹及文件了。 我们先从main文件了解一下程序的执行流程 int main(void) { u
转载 9月前
148阅读
文章目录一、SD协议原理1、有关SD2、1.SDIO协议3、SD物理结构4、SD寄存器5、SD下SPI操作模式二、实例三、实验结果四、总结五、参考资料 一、SD协议原理1、有关SD很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有 U 盘,FLASH 芯片,SD 等。他们各有优点,综合比较,最适合单片机系统的莫过于 SD 了,它不仅容量可以做到很大(32GB 以上),
转载 2024-04-02 09:37:24
3174阅读
本章参考资料《ARM Cortex™-M4F 技术参考手册》 -4.5 章节 SysTick Timer(STK), 和4.48 章节 SHPRx,其中 STK 这个章节有 SysTick 的简介和寄存器的详细描述。因为SysTick 是属于 CM4 内核的外设,有关寄存器的定义和部分库函数都在 core_cm4.h 这个头文件中实现。所以学习 SysTick 的时候可以参考这两个资料,一个是文档
目录一、SD简介1、SDIO简介2.SD物理结构二、STM32CubeMX建立工程1.配置管脚2.点击FATFS,勾选User-defined3.SYS配置 4.GPIO配置5.SPI1配置6.USART1配置7.时钟树配置8.修改堆栈大小三、程序编写 1.源代码下载2.修改接口里面的内容映射到SPI上3.main.c代码五、运行结果六、总结七、参考资料一、SD简介1、S
  • 1
  • 2
  • 3
  • 4
  • 5