OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2390|回复: 1

个人认为HAL库的各种各样的回调函数不利于模块化

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-7-18
在线时间
7 小时
发表于 2019-8-31 23:36:57 | 显示全部楼层 |阅读模式
1金钱
用了一段时间STM32的HAL库,感觉始终用不习惯,因为HAL中各种各样的回调函数实在不利于模块化。
我的理由如下:
不用回调函数的情况:
我要用到SPI1和SPI2分别实现两个不同的功能,这两个SPI的初始化分别在不同的bsp文件内,用的时候我直接#include对应文件,并分别初始化就OK了,也不用改动什么。

使用回调函数的情况:
SPI需要使用使用回调函数void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)初始化,这意味着每次都要往这个函数里面补充对应的初始化,不用的时候再注释掉,很麻烦。
另外,还有各种中断的回调函数,非要把不同功能的中断填到一个回调函数中,根本无法实现一个功能对应一个模块化文件。

由于接触HAL库不久,上面的看法可能比较浅,但是自己的确不懂怎么“既要使用HAL库的各类回调函数,又要实现各功能的模块化”,希望有经验的网友能够分享一下自己的看法。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-7-18
在线时间
7 小时
 楼主| 发表于 2019-9-1 12:43:30 | 显示全部楼层
想一段时间后,我想通了,不用HAL库里面的各种回调函数就可以解决我之前的问题,HAL库提供回调函数不是一定要用的,对于我的情况,我没必要非要用回调函数。HAL库的优势不是回调函数,而是各种函数比较齐全,但不是说里面的函数就非要不可,如果觉得不合理完全就可以不用,或者自己重构,以便符号自己的需求。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 14:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表