zzYuanWai的博客,hal库

stm32单片机编程用库函数好还是寄存器好?

zzYuanWai的博客,hal库


这个问题从两方面来说:如果希望快速开发出来项目的话,用库函数开发;如果希望学精、学透单片机原理的话,用寄存器开发 。一、从开发时间快慢来说,用库函数现在公司开发一个项目的话,都会对时间进度有很高的要求,一般都会要求快速高效的把产品做出来,而不管你用那种方式,只要保证产品的质量就行 。在这种情况下,就必须找一种能够快速开发的途径,而库函数正是基于这种原因创建的 。
芯片公司为了帮助产品工程师降低开发难度、加快开发进度,推出了各种库函数,这些库函数都是由专业程序设计人员编写的,无论从代码的稳定性、规范性、正确性方面来说,都是经过芯片厂家反复验证的,完全可以直接拿来就用 。当然,用库函数有一定的缺陷,例如会导致代码量增大,影响程序运行速度等,但是现在stm32单片机的程序空间一般都足够大,并且每一系列里面都有pin-to-pin的型号可以互换,如果程序空间不够,直接替换另一个管脚兼容的,程序空间更大的即可,程序直接移植过来,几乎不用修改 。
stm32是用hal库,还是标准库?懂行的介绍一下?
zzYuanWai的博客,hal库


最开始在大学我学习stm32 的时候最早是使用寄存器来开发的 。当我把所有寄存器的例程跑了一遍以后,就又使用标准库再把之前的例程再学习了一遍,之后再也没有用过纯寄存器开发的 。为什么?因为没有机会了,这时候我已经毕业了 。在公司开始做项目,项目的紧迫性已经不再是以你学习实践为目的,而是更快更高质量的完成项目开发工作,把产品推向市场 。
【zzYuanWai的博客,hal库】再后来STM32出的型号越来越多,st为了把所有型号的库使用统一的接口并且方便后续维护退出了STM32HAL库和STM32LL库 。这两种库都可以基于STM32CUBEMX图形化配置以后直接生成工程 。而标准库ST也不会再维护更新所以很明显最好就是使用ST最新的HAL库或者LL库 。有的人可能会说HAL库效率不高,我还是用标准库吧,没错HAL是没有标准库效率高 。

    推荐阅读