如何用 SPI HAL库读写W25Q128?
1.W25Q128 介绍
当我们有比较多的数据需要掉电存储时,上一篇文章所介绍的 24C02 (256个字节EEPROM)就不够了。此时我们会用到另外一种类型的存储器,即 Flash。比如具有 SPI 接口的 W25Q128。这颗小芯片虽然也只有简单的 8 个引脚,但存储容量却达到了128M-bit,也就是 16M 字节,同时它的读写速度可以达到 66MB/S。但是由于 STM32F030 不支持 Quad/Dual SPI,只能以标准 SPI 方式读写,所以速度会低一些。以下是 W25Q128 的主要特点:
a.133MHz SPI Clock。
b.10万次擦写寿命,20年数据保持时间。
c.每颗具有64-Bit唯一序列号 Unique ID。
d.每次可以写入 1 到 256 字节数据。
e.写之前需要对目的地址所在扇区进行擦除操作。

( Winbond W25Q128 datasheet )
我们通过以下连线使 W25Q128 连至 STM32F030 的 SPI1:
W25Q128 STM32F030
Pin 1 /CS PA4 也可以用其它 GPIO 引脚
Pin 2 DO PA6 SPI1_MISO
Pin 3 /WP ( VCC )
Pin 4 GND ( GND )
Pin 5 DI PA7 SPI1_MOSI
Pin 6 CLK PA5 SPI1_SCK
Pin 7 /HOLD or /RESET ( VCC )
Pin 8 VCC ( VCC )
2.代码
代码的开发如果想提高效率,一个方法就是充分利用前人的成果,而不是自己一再的去造轮子。对于W25Q128 我们可以从Github上找到驱动代码:https://github.com/nimaltd/w25qxxGNU General Public License v3.0我们把它集成进SPI例程里,完成 W25Q128 的读写功能。Step 1,下载后把解压的文件夹 w25qxx-master 放在 STM32Cube_FW_F0_V1.11.0DriversBSPComponents

Step 2, 我们用 Keil 打开下面这个工程:STM32Cube_FW_F0_V1.11.0ProjectsSTM32F030R8-NucleoExamplesSPISPI_FullDuplex_ComPollingMDK-ARMProject.uvprojx在项目(STM32F030R8-Nucleo)上点鼠标右键,选择Add Group...新建 Group 并改名称为 DriversBSPComponentsw25qxx-master

图片新闻
最新活动更多
-
4月16日预约观看>> 开发前服,优化项目投资价值 筑牢落地关键防线
-
4月17日立即报名 >> 【线下论坛】新唐科技×芯唐南京 2026 年度研讨会
-
4月22日立即报名>> 【在线会议】ADI六款仪器仪表方案助力产品快速上市
-
5月13日立即预约>>> 【线下会议】恩智浦创新技术峰会·深圳
-
5月14日立即下载>> 【白皮书】村田室内外定位解决方案
-
即日-5.20立即下载>> 【限时免费】物理场仿真助力生物医学领域技术创新


分享














发表评论
登录
手机
验证码
手机/邮箱/用户名
密码
立即登录即可访问所有OFweek服务
还不是会员?免费注册
忘记密码其他方式
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论