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
图片新闻
最新活动更多
-
11月19日立即报名>> 【线下论坛】华邦电子与恩智浦联合技术论坛
-
11月20日火热报名中>>> 2024 智能家居出海论坛
-
11月22日立即报名>> 【线下论坛】华邦电子与莱迪思联合技术论坛
-
即日-11.30免费预约申请>>> 燧石技术-红外热成像系列产品试用活动
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
推荐专题
- 1 格力联手优傲!协作机器人领域风云将起?
- 2 同源共创 模式革新 | 华天软件皇冠CAD(CrownCAD)2025新品发布会圆满举行
- 3 “视”界革新,智驭未来 —— VisionChina2024(深圳)机器视觉展完美谢幕
- 4 回顾 | OFweek 2024智能制造与半导体、印刷包装融合创新大会圆满落幕!
- 5 iEi威强电新品丨IMBA-AM5:工业计算的强劲引擎
- 6 守护绿色学习空间,EK超低温热泵服务对外经济贸易大学图书馆
- 7 史上首次,大众终于熬不住开启40亿降本计划!关3个工厂,裁员万名...
- 8 CAXA CAD 2025新品发布!赋能研发效率,创新设计体验
- 9 现场直击 | 维科网带你逛 VisionChina2024(深圳),领略机器视觉盛宴!
- 10 观众登记启动 优解制造未来,锁定2025 ITES深圳工业展
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论