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

相关推荐
BSD_HY12 分钟前
薄膜开关分压网络接 MCU ADC:通道复用下的两个坑
单片机·薄膜开关·源头工厂
NamoAmitabha12815 分钟前
BSP,板级支持包--deepseek
单片机·嵌入式硬件·fpga开发
小白今天也很酷22 分钟前
MCXN947更新板载DAP_Link固件的方法
c语言·python·单片机·ubuntu·excel·1024程序员节
艾芯微科技9 小时前
HR911130C|汉仁 HANRUN 集成变压器千兆 RJ45 网口参数、电路、PCB 布线、替代与采购避坑
网络·单片机·嵌入式硬件·集成测试·51单片机
白搞电子10 小时前
ESP-Mosaico 黑胶轮滑动画与音乐编排:从设备原型到电脑预览工作台
单片机·嵌入式硬件
新晨单片机设计10 小时前
S028C-基于STM32单片机WIFI智能电表(温度)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·wifi智能电表
幼儿园蛋小黑11 小时前
LVGL 入门指南:从零搭建嵌入式 GUI 界面
嵌入式硬件
1234567890@world11 小时前
正点原子 ATK-DLRK3568 嵌入式Linux系统开发手册V1.3 详细总结
linux·stm32·单片机
女神下凡12 小时前
芯参谋(68):ADC模数转换器电路设计指南
arm开发·单片机·嵌入式硬件·硬件工程·设计规范
Zwawa13 小时前
一盏 LED 不够用了:让同一盏灯说出不同的话
c语言·单片机·嵌入式