STM32_SPI读写Flash

今天讲解“STM32F103 SPI读写Flash”,其实这第一阶段主要是讲解STM32的SPI功能,所有今天的重点是SPI,关于FLASH我应该要在后面再次讲述。

今天提供并讲解的软件工程,基于软件工程“A0.0.0(STM32F10x_TIM延时)”修改而来。若不知道如何而来,请关注微信公众号“EmbeddDeveloper”获取更多信息。

本着免费分享的原则,将讲解的工程源代码分享给大家,还望看到的朋友关注和推广一下微信公众号,增加一下人气。

每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cPzhMXjRPbWzc  访问密码 032f

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2   访问密码 ca90

关于“STM32F103 SPI读写Flash” 我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。

一、RCC时钟配置

该函数位于在bsp.c文件下面;

使能RCC时钟:RCC_APB2Periph_SPI1

二、引脚配置

该函数位于在spi.c文件下面;

这里是对SPI所使用引脚进行配置。

注意:

SPI作为主机,我们使用硬件SPI时,通常只使用SCK, MOSI, MISO三个引脚,片选CS需要单独配置,所以这里配置CS需要和器件对应才行。

三、SPI配置

该函数位于在spi.c文件下面;

对SPI进行配置。

配置的每一条语句都有注释,请看源代码.

这里配置的都比较基础的,后续我会讲解复杂一点的配置(前期第一阶段定位在初级,所以,如果你想了解更高级的功能,请持续关注我的微信公众号)。

四、SPI读写字节

 

该函数位于在spi.c文件下面;

外设操作SPI时就需要调用这个函数。

五、主函数应用

该函数位于在main.c文件下面;

这里是通过SPI操作FLASH读写数据,但今天主要是测试SPI通信是否正常,所以关于FLASH的函数今天就不在这里讲解,感兴趣的朋友可以研究一下,经过我大量测试,sflash.c文件的接口可以正常使用。

可以看到现象:间隔500ms,LED变化,串口打印出读出flash的数据。

六、今天的重点提示

SPI的对应从机基本上都有片选信号,所以这里要对应起来;还有SPI可作为从机使用,后续我会讲解。

下载方式:长按网站 ->选择复制
->打开

或者复制网站在电脑上下载也可。

想掌握更多精彩内容,请关注我的微信公众号。

微信搜索“EmbeddDeveloper”, 或扫描下面二维码关注

时间: 2024-10-13 02:10:27

STM32_SPI读写Flash的相关文章

STM32F10x_SPI(硬件接口 + 软件模拟)读写Flash(25Q16)

Ⅰ.写在前面 SPI(Serial Perripheral Interface)串行外设通信接口,主要实现设备(主从)之间的通信.硬件上由CS.SCK.MISO.MOSI四根通信线连接而成.关于SPI更多介绍不再详细描述,本文主要以STM32F103为主机.W25Q16为从机进行SPI通信实验. 本文将提供STM32硬件SPI.软件模拟SPI两实例工程代码供大家参考.掌握两种方式的区别. STM32硬件SPI:控制简单.运行效率高.使用方便等. 软件模拟SPI:移植性强,只需要简单修改接口,就能

STM3210XX中读写Flash的操作

这个星期开始接触单片机基于STM32的编程,C语言只是在学校时用过,20多年过去了,重新捡起来. 编程工具是Keil uVision5. 这个星期完成了单片机之间的串口通讯,有些设置需要在机器断电的情况下保存,这时要将设置写入Flash,需要的时候再读取出来.经过一天的努力,测试成功了. 实际的代码: uint32_t ReadFromFlashOneWord(uint32_t Addr){//从Flash中读取一个字(半个字的读取)uint32_t HData,LData;//定义高位.低位两

SPI学习(SPI总线读写FLASH)

总体概述: (1)W25X16/32/64:256-bytes/页(Page),4K-bytes/扇区(Sector),64K-bytes/块(block) W25X16:16M-bit(2M-byte) |   W25X32:32M-bit(4M-byte)  |    W25X64:64M-bit(8M-byte) (2)SPI支持单一或双重输出:四个引脚 clock.chip select.data I/O.data out (3)数据传输速率的支持:最大150M-bits/S clock

第8章 NAND FLASH控制器

8.1 NAND Flash介绍和NAND Flash控制器使用 NAND Flash在嵌入式系统中的地位与PC上的硬盘类似 NAND Flash在掉电后仍可保存 8.1.1 Flash介绍 有NOR Flash和NAND Flash两种 NOR Flash与SDRAM的接口完全相同,可以随机访问任意地址的数据 NOR Flash的块大小是64kb~128kb,NAND的块大小是8kb~64kb NAND Flash一般以512字节为单位进行读写 Flash存储期间的可靠性主要考虑3点:位翻转.

Jlink使用技巧之烧写SPI Flash存储芯片

前言 大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPI Flash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPI Flash存储器,JLink软件包含的工具中,有一个是JFlashSPI工具,这就是一个烧写和读取SPI存储器的工具了. 准备 要烧写程序或读取程序的的Flash芯片:SPI协议的Flash都可以,如W25Q128. JFlashSPI软件工具:在Jlink系列软件的安装目录下 JLink V9仿真器 要烧写的文件:

19、SPI 和 SST25VF016B

一.SPI总线 1.SPI简介 SPI,是Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.是Motorola首先在其MC68HCXX系列处理器上定义的.SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通

U盘里的文件丢失恢复软件如何恢复

我的U盘中的文件一点也不显示,但是每次用读卡器与电脑连接,电脑上还会提示已发现新的移动设备,可是里面的文件之类的就看不到,我查看属性,发现里面根本没用多少空间,我以为是自己的读卡器坏了,就借了同事的,可是还是这种情况,不知道怎么回事,同事说,这种情况最好找一个科技公司,看看能不能恢复.人家是给恢复好了,前几天跟我一个学电脑的同学说起这事,他交给我一个能反复用,不用花钱的方法,后悔就不说了,在这里先分享一下吧. U盘是一个控制器加一个存储器的单板产品,存储器就是Flash模块,它的内部结构我就不说

STM32F1_常见外设资源汇总

前言 STM32F1系列芯片算是在STM32中最早的一系列,在实际生活中应用的比较广泛.因此,汇总一下STM32F1系列芯片常见片内资源,每一篇文章把重点提出来讲解,并提供软件源代码工程. 汇总常见资源:基本IO.定时器TIM.串口USART.ADC模数转换.DAC数模转换.SPI串行通信.EXIT外部中断.BKP备份数据.RTC闹钟SysTick系统滴答.WDG看门狗(独立+窗口).DMA传输数据.片内FLASH编程.FSMC读写外部SRAM.外部NorFlash操作等. 各个细节详情请查看下

服务器中加速BIOS启动的方法

对于用于一线的主服务器而言,年均宕机时间是衡量其稳定性的重要指标.因此,系统出现故障后,能够尽快恢复尤其重要.在现在的高端服务器中,CPU有多个,内存容量日益增加,有的多达512G甚至达到数T容量,接入的PCIE板卡也越来越多,这极大地增加了BIOS系统自检和设备扫描的时间.此外,由于传统BIOS的设计,冷启动比热启动本身就需要多耗费几倍的时间.例如,本人在一款最新的基于Intel E5双CPU的服务器上的测试表明,冷启动到GRUB需要195秒,而热启动只需要52秒.为什么冷启动比热启动需要耗费