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

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-25 13:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-25 13:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-25 13:08:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-25 13:08:01       20 阅读

热门阅读

  1. 使用 git rebase 合并多个 commit

    2024-01-25 13:08:01       32 阅读
  2. openssl3.2/test/certs - 043 - 4096-bit leaf key

    2024-01-25 13:08:01       39 阅读
  3. v-if 导致 elementui 表单校验失效问题解决

    2024-01-25 13:08:01       31 阅读
  4. linux Socket 缓存 介绍

    2024-01-25 13:08:01       34 阅读
  5. 看完「繁花」我悟了:认真赚钱,终成大佬

    2024-01-25 13:08:01       43 阅读
  6. Git搭建

    Git搭建

    2024-01-25 13:08:01      36 阅读
  7. 《设计模式的艺术》笔记 - 状态模式

    2024-01-25 13:08:01       29 阅读
  8. C++高级编程——STL:list容器、set容器和map容器

    2024-01-25 13:08:01       33 阅读