STM32F0单片机入门——用SPI HAL库读写W25Q128
Step 3, 在 DriversBSPComponentsw25qxx-master上点右键,选择Add Existing Files to Group "DriversBSPComponentsw25qxx-master"...,找到 Drivers/BSP/components/w25qxx-master/w25qxx.c 点击Add,然后可以看到w25qxx.c已经添加进项目中:

Step 4, 在 Options for Target 里添加路径,这里使用的是工程所在路径的相对路径,也可以使用绝对路径,但如果工程拷贝到别的地方的时候,此包含路径就需要跟随更改。Add include path ../../../../../../Drivers/BSP/components/w25qxx-master

Step 5, 驱动头文件 w25qxx.h 中原来包含的的 spi.h, 因为我们使用的 Cube 库,头文件需要做如下替换://#include "spi.h"#include "stm32f0xx_hal.h"Step 6, main.h 里根据实际情况配置引脚,把驱动头文件 #include "w25qxx.h" 包含进来。片选信号 CS 可以由任意一个 GPIO 控制,在函数HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)里把CS引脚配置为GPIO输出就行了,实际的拉低拉高是驱动代码实现的。


Step 7, 在 main.c 里定义了 SpiHandle 并指向 SPI1, 我们在 w25qxx.c里也要用到这个 Handle,所以通过 extern 来引用一下。

Step 8, 初始化 SPI1,然后调用 w25qxx 驱动的初始化代码 W25qxx_Init( ); 然后就可以用擦除,读写等函数了。


在代码的修改过程中,我们可以再次体会 Cube 库的这种分层结构带来的好处,特别是如何与第三方驱动代码融合。各个模块就像积木一样,我们只需要把它们搭建起来就可以快速的实现我们想要的功能。下面是读出数据时实际抓取的波形:

参考资料:PM0215 STM32F0xxx Cortex-M0 programming manualUM1785 Description of STM32F0 HAL and low-layer driversWinbond W25Q128 DatasheetSTM32F030 Datasheet
STM32F030 Reference Manual
图片新闻
最新活动更多
-
4月22日立即报名>> 【在线会议】ADI六款仪器仪表方案助力产品快速上市
-
即日-4.30立即下载>>> 【限时下载】《2025激光行业应用创新发展蓝皮书》
-
5月14日立即下载>> 【白皮书】村田室内外定位解决方案
-
5月29日立即下载>> 【白皮书】工业视觉AI实战白皮书合集
-
5月30日立即报名>> 2026激光行业应用创新发展蓝皮书火热招编中!
-
即日-5.31立即申报>>> 维科杯·OFweek 2026光学行业年度评选
推荐专题
- 1 2026,中国工程机械的“分水岭之战”
- 2 智赋食饮新局:《威图赋能食品饮料行业高效可持续发展白皮书》发布会即将开启!
- 3 SEMICON CHINA 2026首日,格创东智携“章鱼智脑”和全场景工业智能体群,开启半导体智造自主决策时代
- 4 格创东智SEMICON CHINA 2026圆满收官,章鱼智脑与全场景智能体群定义工业智能决策新高度
- 5 智启新程,聚势前行,2026 ITES深圳工业展盛大启幕!
- 6 工业 CLAW 破局:“章鱼智脑”,智能工厂仿生式自主决策中枢
- 7 格创东智何军登榜2025福布斯中国科创人物,工业AI革新力获权威认可
- 8 丰田汽车公司为实现碳中和制定的动力总成多路径策略PPT
- 9 共话智赋食饮新篇章,威图行业白皮书发布会圆满收官
- 10 电驱动系统最佳级别热评估


分享














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