基于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中的数据不会清空。

相关推荐
西城微科方案开发5 分钟前
精准守护健康:西城微科电子体温计方案解析
单片机·嵌入式硬件·方案公司推荐
Saniffer_SH6 分钟前
【每日一题】笔记本电脑上从U盘拷贝文件到M.2 SSD过程中为什么链路还会偶尔进入L1.2低功耗?
服务器·网络·人工智能·驱动开发·单片机·嵌入式硬件·电脑
DIY机器人工房13 分钟前
简单理解:珠海航宇微科技(航宇微)、芯探索、XM1002他们之间的关系
科技·单片机·嵌入式·diy机器人工房·芯探索·xm1002·航宇微
尼喃41 分钟前
锂电池升压5v1A芯片精选推荐,高效率低功耗,满足工程需求
单片机·嵌入式硬件
复业思维2024010841 分钟前
STM32学习和实践笔记(45):SPI-FLASH实验
笔记·stm32·学习
黑猫学长呀43 分钟前
【嵌入式系统科普】第2篇:什么是uboot/kernel/根文件系统/BootLoader/操作系统/bios/设备树
linux·arm开发·单片机·嵌入式硬件·arm
文弱书生6561 小时前
7-Robot类大体框架
linux·单片机·嵌入式硬件
纸带1 小时前
MCU 错误中断HardFault_Handler KEIL 仿真分析
单片机·嵌入式硬件
先知后行。1 小时前
电子元器件2
单片机·学习
DIY机器人工房1 小时前
解决方法:用新唐 NuMicro M483这款单片机遇到的一些问题
单片机·嵌入式硬件·嵌入式·diy机器人工房·新唐m483