STM32CubeMx之QSPI配置详解
先看一下最终结果:
这里采用一个按键按下写入W25Q另一个按键按下读出写入的数据。
前言
本章主要介绍一下采用Stm32CubeMx配置W25Q256,以及读写W25Q256
本章例程Gitee链接: 点击传送
一、CubeMx配置W25Q256参数详解
① Clock Prescaler :时钟分频因子。前面配置的QSPI时钟为240M,这个240M就会除以分频因子最终输出到CLK时钟引脚。这里设置成1,输出到FLASH的时钟为240M。
② Fifo Threshold :FIFO阈值。这个应该是配合DAM用的。这里配置成4即可
③Sample Shifting :选择这个会在时钟沿的后半周期才采集数据,一般建议选上。
④Flash Size :FLASH大小。FLASH容量的字节数 = 2 的(FlashSize + 1)次方。比如我的FLASH是32M大小的,这里应该配置成24。2^25➗1024➗1024=32M Byte.
⑤Chip Select High Time :片选高电平时间,这里理解为tWHSL.即在开始写前需要的保护时间。查手册是20ns。配置的flash时钟为240Mhz≈4.17ns。20ns/4.17ns≈4.8 所以最少需要5个Cycle。
二、读写W25Q256
这里就不贴出代码了,具体可以看上面Gitee的源码工程。
另外,Git的使用是相当重要的。如果还不会的可以阅读本人的另一篇文章关于入门Git使用的。一般照着文章做研究几个小时就可以满足项目需求了。
三、调试可能遇到的问题
C2调试过程中遇到的问题:🤷♂️🤷♀️
1、W25Q256初始化失败
原因:cubemx配置QSPI引脚时没有设置引脚默认上下拉状态以及引脚速度等级
解决方法:所有引脚设置为very high,SCK和CS默认设置为上拉,其他设置为默认即可,如下图:
总结
谢谢大家的关注和支持!!!有啥问题可以联系本人的QQ:1458356834。