STM32L4使用QSPI驱动spiFLASH(W25Q64)

STM32L4使用QSPI驱动spiFLASH(W25Q64)

一、什么是QSPI

QSPI 即Quad SPI,是一种专用的通讯接口,连接单、双或四(条数据线)SPI FLASH 存储器。
简单的来说,QSPI就是为了驱动SPI_FLASH所设计的专用的通信协议,他和标准的SPI协议有很多相似的地方,但是我认为将它看作一种单独的通信协议更好理解。
QSPI可以工作在单数据线、双数据线或四条数据线通信方式下。
而BearPi开发板的W25Q64即硬件连接为双数据线通信方式。
dd
(这里应该为原理图标识有误,W25Q64应当为NorFLASH)

二、CubeMX的配置

在之前新建工程的基础上添加使用SPI功能(新建工程见STM32使用LL库建立工程
将QSPI选择为单/双线模式
在这里插入图片描述
然后查看硬件连接表,发现与默认引脚不同,需要手动修改引脚
d
在这里插入图片描述
然后对QSPI进行初始化配置
首先是时钟分频设置,W25Q64在标准模式下支持80M bit/s速度,快速模式下支持160M bit/s速度,高速模式下支持320M bit/s速度。
所以我们可以将分频值设置为0,则MCU输出的QSPI频率就为80/(0+1)=40MHz。
3
然后我神奇的发现QSPI没有LL库的支持,只有HAL库,然后我废了一天的功夫把stm32l4xx_hal_qspi库里的一些必要的函数提取出来,写了一个stm32l4xx_my_qspi的库函数,最后移植正点原子的w25qxx文件,经过测试成功。
在这里插入图片描述

四、源码下载

完整代码已上传https://download.csdn.net/download/qq_38113006/12098662

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值