基于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 小时前
FreeRTOS任务管理:从入门到实践(标准库版)
stm32·嵌入式·freertos·实时操作系统·任务管理·标准外设库·任务挂起与恢复
莫浅子13 小时前
day01-USB架构与枚举
c++·单片机·嵌入式驱动
恒锐丰科技韩生13 小时前
SS8844T|8.2‑40V 四通道独立半桥驱动 ETSSOP28 带散热焊盘 工业自动化机器人专用
嵌入式硬件·硬件工程
Hello_Damon_Nikola14 小时前
INMP441从入门到精通
单片机·嵌入式硬件·物联网
恒锐丰小瑞14 小时前
率能SS6810H 32V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式,用于POS打印机/安防相机/机器人
嵌入式硬件·数码相机·机器人·硬件工程
恒锐丰科技林技术员14 小时前
SS8812T 双通道 H 桥电机驱动芯片应用解析
经验分享·嵌入式硬件·硬件工程
ye1501277745515 小时前
12V转3V-5V2A电位器无极调光调速WT7027
stm32·单片机·嵌入式硬件
恒锐丰-罗生15 小时前
国产电机驱动 SS6635E|宽压大电流单通道 H 桥芯片全面总结
驱动开发·嵌入式硬件·硬件工程
无损检测小白白16 小时前
STM32F407 串口3 DMA收发-标准库
stm32·单片机·嵌入式硬件
greatriver00716 小时前
e2studio R7FA6M5 卡死 rtc 需要如何配置时钟
单片机·瑞萨单片机