2016 - 2024

感恩一路有你

虚拟按键大师 stm32是用hal库,还是标准库?懂行的介绍一下?

浏览量:3055 时间:2021-04-03 20:37:20 作者:admin

stm32是用hal库,还是标准库?懂行的介绍一下?

St以前介绍过标准库函数,包括寄存器版本和库函数版本。注册版本使用起来很麻烦。您需要检查每个设置的芯片数据表。优点是您可以熟悉芯片的寄存器配置。库函数是基于寄存器版本的二次包

介绍,它的优点是寄存器版本的缺点,使用方便,不再需要手动配置寄存器,使用更方便。但它的缺点是Hal的优点,即每次修改MCU函数时,都需要手工修改函数,而且自修改不能保证正确性,不同MCU之间的程序代码移植性不强。

Hal library,Hal是hardware abstraction layer的缩写,中文名为:hardware abstraction layer,Hal library项目一般使用cube软件生成项目。Hal库是ST公司针对STM32单片机开发的最新抽象层嵌入式软件,更便于实现STM32产品的最大可移植性。其优点是开发工程师不需要关注MCU模型,只需要专注于功能软件的开发工作。它是未来的主要发展方向,并在不断更新。建议您在正常使用时,它会自动更新或关闭。否则,将在更新前调试的代码将无法正常工作。设置多维数据集软件的方法点帮助,然后选择手动更新。详见图。

根据我们的工程师和我的研发经验,我们一开始使用标准库函数。后来我们发现,St推出Hal库后,我们逐渐转向Hal库的开发。它的优势在于软件代码在不同芯片之间具有很强的可移植性,并且cube软件生成的项目指定了自己代码的位置。如果不按规定编写,cube再次生成项目时会覆盖自己的代码,进一步增强了代码的可移植性。

另外,如果需要修改MCU的功能,如添加新的GPIO或串口,在使用标准库函数时,需要复制其他串口的初始化代码,然后手动修改。使用Hal库时,您不需要这样做。您只需将设置添加到多维数据集并生成它们。

多维数据集会自动为您生成初始化代码。

综上所述,建议新手直接使用Hal库,使用起来更方便,开发所需的软件功能也更快。复杂的寄存器配置工作可以交给cube软件,这也符合未来发展的主流思路。

hal库和固件库有什么区别?

ST提供了两个固件库:标准库和Hal库。在上市之初,STM32芯片只提供了丰富而全面的标准库,极大地方便了用户程序的开发,受到了广大开发板的高度赞扬。同时,它也积累了大量的标准库用户,对于有STM32基础的ST学生必须非常熟悉标准库。我们目前所有的stm32f1开发板和explorer stm32f407开发板都是标准库。目前,大多数在线学习材料和源代码都是标准库。

2014年前后,St在标准库的基础上推出了Hal库。事实上,Hal库和标准库本质上是相同的。它们都提供了底层的硬件操作API,并且它们的用法是相似的。具有标准库基础的学生易于使用HAL文库。在我看来,st official近年来一直在推广Hal库的原因是

因为Hal的结构更容易集成stm32cube,而stm32cubemx是st近年来大力推荐的程序

生成和开发工具。因此,St只为近两年新发布的STM32芯片提供Hal库。在新的STM32芯片中,Hal库被用来逐步淘汰标准库。

那么多学生不禁要问,我们用的是Hal图书馆还是标准图书馆?这里我们要说的是Hal库和

标准库功能非常强大,开发标准库支持的芯片非常方便实用。而且,大多数网络数据和程序都是用标准库来解释的。您不必担心您是在学习Hal库还是标准库

无论您使用哪种库,只要您了解STM32的精髓,任何库都是一种工具,使用起来非常方便。学习一个库,另一个库也很容易使用,也很容易改变程序开发的思路。如果您是STM32]的专家,并且长期从事STM32的开发,那么您必须对标准库和Hal库都有一定的了解,这样您才能安心地进行项目开发。

虚拟按键大师 电脑缝纫机各按键功能图解 电梯按键使用方法图解

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。