实现简单的SPI读写FLASH

本文详细介绍了如何在STM32f10x开发板上利用SPI协议读写W25Q64 Flash芯片。内容包括SPI初始化配置、Flash的硬件引脚设置、SPI功能函数实现以及读写操作的代码示例,特别是页写入和读取功能。
摘要由CSDN通过智能技术生成

实现简单的SPI读写FLASH

一、前言
继上篇文章SPI的相关知识,本章主要介绍使用SPI协议实现简单的读写FLASH,写入功能主要介绍的是定量数据的页写入,在文章末尾有不定量数据写入的代码例子。使用的开发板是STM32f10x系列,Flash芯片是W25Q64。

二、简介
Flash是属于非易失性存储器,又称为闪存,和EEPROM一样都是掉电后数据不会丢失的存储器。不过,Flash和EEPROM的区别在于,①Flash的存储容量大于EEPROM,②Flash在写入之前的擦除操作时,需要以扇区为最小单位擦除(意思是一大片一大片的擦粗),而EEPROM是允许以字节为单位擦除。

下文中不会对Flash进行仔细地介绍,但要注意的是SPI协议对Flash进行的命令操作,需要进行通过查阅对应Flash的芯片数据手册才能得知,在下文的写宏的头文件(bsp_spi_falsh.h)中,会定义好Flash的内部代码命令。

SPI对Flash的操作,是将要执行的功能的指令编码先发送给Flash,让它知道你要用什么功能。该表中的第一列为指令名,第二列为指令编码,第三至第 N 列的具体内容根据指令的不同而有不同的含义。其中带括号的字节参数,方向为 FLASH 向主机传输,即命令响应,不带括号的则为主机向 FLASH 传输。

在这里插入图片描述

  • 17
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值