打印
[STM32F1]

stm32是用标准库还是hal库?

[复制链接]
916|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
claretttt|  楼主 | 2024-8-31 15:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两种库各有优缺点,选择哪种库取决于你的项目需求和个人偏好。标准库是适用于单片机开发的基本库,它提供了对芯片的低级访问,可以直接访问寄存器、操作系统资源、中断和固件等。标准库的代码量较小,运行速度快,适用于简单的应用程序或需要高效性能的应用。HAL库是由ST公司提供的一种高级别的库,提供了一些高级别的API函数,可以更方便地进行硬件操作。HAL库提供了更多的驱动程序和功能,使编码更加简单,可读性更好。但由于 HAL库的代码量较大,运行速度相对较慢,适用于较为复杂的应用程序。

总之,在选择库时,需要综合考虑项目需求、代码复杂度、性能要求等因素,并根据实际情况进行选择。  

使用特权

评论回复
沙发
公羊子丹| | 2025-4-3 07:36 | 只看该作者
我还是喜欢用标准库,代码简洁,直接操作寄存器,感觉更有掌控感,HAL 库封装太多东西了,不习惯。

使用特权

评论回复
板凳
周半梅| | 2025-4-3 07:37 | 只看该作者
HAL 库虽然代码量大点,但移植性好,特别是不同 STM32 系列之间切换的时候,省了不少事。

使用特权

评论回复
地板
帛灿灿| | 2025-4-3 07:37 | 只看该作者
其实如果项目不复杂,标准库够用了,HAL 适合那种外设多、驱动复杂的项目,不然写 HAL 也会有点浪费资源。

使用特权

评论回复
5
童雨竹| | 2025-4-3 07:38 | 只看该作者
个人感觉标准库适合做精细优化的项目,比如需要严格控制时间的场景,而 HAL 更适合快速开发。

使用特权

评论回复
6
万图| | 2025-4-3 07:40 | 只看该作者
如果是新手,建议用 HAL 库,毕竟封装好了很多函数,省去了不少查手册、配寄存器的时间。

使用特权

评论回复
7
Wordsworth| | 2025-4-3 07:40 | 只看该作者
HAL 库的劣势是封装太多,不好调试,有时候遇到问题,还是得去翻底层代码,看它到底做了啥。

使用特权

评论回复
8
Bblythe| | 2025-4-3 07:41 | 只看该作者
STM32F1 还可以用标准库,但 F4、H7 这些新系列基本就只有 HAL 了,看来 ST 是想推动大家用 HAL。

使用特权

评论回复
9
Pulitzer| | 2025-4-3 07:42 | 只看该作者
有些项目我会混用,关键部分用标准库,其他部分用 HAL,感觉这样兼顾了效率和开发速度。

使用特权

评论回复
10
Uriah| | 2025-4-3 07:43 | 只看该作者
HAL 库占用资源较多,但如果用的是大容量 Flash 和 RAM 的芯片,那这些就不是问题了,直接上 HAL。

使用特权

评论回复
11
Clyde011| | 2025-4-3 07:44 | 只看该作者
标准库虽然现在官方不更新了,但很多老项目还是用这个,维护起来方便,HAL 每次更新 API 可能会改动不少。

使用特权

评论回复
12
olivem55arlowe| | 2025-4-4 17:15 | 只看该作者
标准库的代码结构清晰,对寄存器操作进行了较为直观的封装。开发者可以较为容易地理解每一步操作对应的硬件行为,对于想要深入了解 STM32 硬件底层原理的人来说,是一个很好的学习工具。

使用特权

评论回复
13
robertesth| | 2025-4-5 20:42 | 只看该作者
HAL 库支持多种 STM32 系列芯片,具有良好的跨平台兼容性。开发者可以在不同型号的芯片之间方便地移植代码,减少了开发成本和工作量。

使用特权

评论回复
14
wwppd| | 2025-4-5 22:17 | 只看该作者
如果项目周期较紧,需要快速开发,可以使用HAL库。

使用特权

评论回复
15
saservice| | 2025-4-6 08:23 | 只看该作者
选择STM32的标准库还是HAL库,主要取决于你的项目需求、开发经验和项目周期。

使用特权

评论回复
16
maqianqu| | 2025-4-8 09:49 | 只看该作者
ST公司还针对HAL库推出了STM32CubeMX软件,可以通过图形化界面配置外设并生成初始化代码,进一步提高了开发效率。

使用特权

评论回复
17
claretttt|  楼主 | 2025-4-8 12:56 | 只看该作者
使用 STM32CubeMX 生成初始化代码,可大幅减少配置工作量。

使用特权

评论回复
18
vivilyly| | 2025-4-8 15:58 | 只看该作者
对于初学者而言,标准库是一个很好的入门选择。通过学习标准库,能够深入理解 STM32 单片机的硬件架构和寄存器操作原理,为后续的开发打下坚实的基础。

使用特权

评论回复
19
hudi008| | 2025-4-9 21:10 | 只看该作者
HAL 库的统一 API 接口使得团队成员之间的代码风格更加一致,便于代码的共享和协作开发。同时,对于新加入的开发者,也能够更快地上手项目。

使用特权

评论回复
20
qiufengsd| | 2025-4-10 00:13 | 只看该作者
相比HAL库,标准库通常更加精简,适合需要高效利用资源的小型项目。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

1506

帖子

0

粉丝