基于cubeMX的正点原子miniSTM32对W25Q64的存储使用

一、实现目标

使用cubeMX建立项目工程,结合正点原子提供的hal库对W25Q64闪存调用的例程,实现W25Q64的读写。

二、实现过程

1、首先建立cubeMX工程,其他项设置不再叙述,只看连接W25Q64的SPI设置,这里使用SPI1:

设置完成后,使用SPI的引脚会自动标注,如下图

2、手动设置添加W25Q64的片选引脚PA2为输出引脚:

3、设置完成,生成代码

4、打开项目代码后,可看到已经生成的SPI.C代码:

5、添加正点原子hal库的w25q64驱动程序,如下图,注意先添加.C程序后也要添加w25q64.h的头文件路径,具体添加过程不再叙述。

6、添加完成后,需要修改一部分w25q64.c和w25q64.h,首先将片选PA2引脚重新宏定义置高低电平:

7、然后在w25q64.c中添加一个1us的延时函数,因为后面驱动函数中要用到1us延时:

8、然后将w25q64.c中原有初始化SPI的程序代码注释掉

9、最后替换驱动函数中所有的片选引脚的置高和置低语句,如下图:

10、main函数中仍然使用正点原子的例程代码如下

可以实现将TEXT_Buffer数组的数据写入flash中,地址为倒数第100个地址,该地址也可以更改为从0地址开始写,然后从该地址读出数据,显示在屏幕上,从而实现了数据存储在flash中,掉电后flash中的数据不会清空。

相关推荐
渡我白衣8 分钟前
计算机组成原理(9):零拓展与符号拓展
c语言·汇编·人工智能·嵌入式硬件·网络协议·硬件工程·c
悠哉悠哉愿意8 分钟前
【EDA学习笔记】电子技术基础知识:电路定理
单片机·嵌入式硬件·eda
松涛和鸣10 分钟前
DAY37 Getting Started with UDP Network Programming
linux·c语言·网络·单片机·网络协议·udp
polarislove021422 分钟前
5.7W25Q64 实验(上)-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
清风66666630 分钟前
基于单片机的大棚温湿度与二氧化碳智能控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
d111111111d1 小时前
STM32-HAL库学习,初识HAL库
笔记·stm32·单片机·嵌入式硬件·学习
v先v关v住v获v取1 小时前
丰田凯美瑞悬挂系统有限元分析cad6张+三维图+设计说明书
科技·单片机·51单片机
清风6666661 小时前
基于单片机的超声波自动泥浆回收系统
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
无脑学c++1 小时前
Debian 12/13 下使用 SDCC + VSCode 开发 51 单片机完整教程(环境配置)
vscode·单片机·debian
三佛科技-187366133971 小时前
FT8433 低成本5V80mA非隔离BCUK方案直接替代KP311ALGA
单片机·嵌入式硬件