大家都是怎么学HAL库函数的啊?
看了一天HAL的库函数使用说明,感觉晕晕的,主要是那个什么handle,没搞明白到底这个怎么个运行流程,是不是学这个HAL要有一些C++的基础啊?哪位有经验可以指点下么?先谢了!本帖最后由 任风吹吹 于 2016-8-11 12:26 编辑
任风吹吹 发表于 2016-8-11 11:52
标准库是标准的C语言思想,即提供外设接口,应用调用对应的接口就可以了,而HAL向面向对象的思想靠拢,学过 ...
HAL库是将数据整合了下,变成句柄,但数据和功能还是分离的,数据与功能的关联点是在接口函数的第一个参数一般为句柄,然后再就是中断回调到weak函数,用户需要用到这个回调时就自己重载这个回调函数,这个就是HAL的一般情况,但严格来说,这还不是真正的面向对象,真正的面向对象比如C++,是将数据与功能一起封装在对象内,weak就相当于虚函数,在实例化时需要重载。OOP的操作都是以对象开头的,而HAL还是以接口开始,只不过在第一个参数传入句柄数据而已,两者结果一样,但后者HAL还是数据与功能分离的,不像对象,HAL严格来说,相比原来的标准库应该算是半对象化了。
以上是个人理解,非喜勿喷!:lol HAL效率会更高么?代码会不会更占空间?
C++的基础 要的,弄块开发板练练 正在学习 资料很好。很有用的 啃………… 这个多练练不就行了。熟能生巧。 hal有英文参考资料好好看下。 _ilikerome_ 发表于 2015-2-15 08:32
这个多练练不就行了。熟能生巧。
资料有限,没理清楚这个库的结构是怎样的 MouseCat 发表于 2015-2-15 08:59
HAL效率会更高么?代码会不会更占空间?
我也同有此疑问……