当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/287309.html

相关文章:

  • C++笔记(三)
  • c语言不定参数
  • 云手机与实体手机的对比
  • diffusion 和 gan 的优缺点对比
  • VC++中使用OpenCV进行人脸检测
  • 11Docker数据持久化
  • RK3588平台开发系列讲解(视频篇)RKMedia框架
  • Vue3 Teleport 将组件传送到外层DOM位置
  • 【学网攻】 第(5)节 -- Cisco VTP的使用
  • uniapp复选框 实现排他选项
  • openssl3.2/test/certs - 004 - cross root and root cross cert
  • 图像分类】【深度学习】【轻量级网络】【Pytorch版本】EfficientNet_V2模型算法详解
  • 05.Elasticsearch应用(五)
  • npm更换镜像
  • 野指针(C语言)
  • 动物姿态识别(数据集+代码)
  • JSON-handle工具安装及使用
  • kali安装LAMP和DVWA
  • 上门服务小程序|预约上门服务系统开发有哪些功能?
  • uniapp vue3版本引用 jsencrypt加密库报错:“default“ is not exported by……
  • 【WPF.NET开发】WPF中的双向功能
  • Pytest 测试框架与Allure 测试报告——Allure2测试报告-L3
  • 【机器学习300问】16、逻辑回归模型实现分类的原理?
  • OPC【4】:物理包
  • 关于 Go 协同程序(Coroutines 协程)、Go 汇编及一些注意事项。
  • 深入剖析BaseMapperPlus扩展接口及其在MyBatis-Plus中的实践价值
  • Linux之安装配置VCentOS7+换源
  • [极客大挑战 2019]LoveSQL1
  • 网络安全的介绍
  • django邮件通知功能-