当前位置: 首页 > news >正文

(萌新入门)如何从起步阶段开始学习STM32 ——2 我应该学习HAL库还是寄存器库?

概念

笔者下面需要介绍的是库寄存器和HAL库两个重要的概念,在各位看完之后,需要决定自己的学习路线到底是学习HAL呢?还是寄存器呢?还是两者都学习呢?

库寄存器

库寄存器就是简单的封装了我们对寄存器的操作,至少,不用咔咔访问结构体去嗯改里面的数据,否则开发效率会低到发指。

库寄存器的特征如下:

  • 低层级:直接操作硬件寄存器,代码与硬件紧密相关。

  • 高效:由于直接操作寄存器,代码执行效率高,资源占用少。

  • 灵活性:我们可以完全控制硬件的每一个细节。但是代价是 —— 需要深入了解硬件手册和寄存器配置,开发难度较大。

  • 可移植性差:代码高度依赖特定硬件,移植到其他平台时需大量修改。

库寄存器的优秀的教学视频自然就属于江科大了STM32入门教程-2023版 细致讲解 中文字幕哔哩哔哩bilibili

HAL库

HAL库是STMicroelectronics为STM32系列微控制器提供的一个硬件抽象层库。使用HAL库可以让我们无缝的移植代码到其他ST家的平台上,它封装了底层寄存器的操作,提供了统一的API接口,简化了开发过程。

  • 高层级:通过API接口操作硬件,开发者无需直接操作寄存器。

  • 易用性:提供了丰富的函数库,简化了外设的配置和控制。

  • 可移植性:代码在不同STM32系列间的移植性较好。

  • 效率较低:由于增加了抽象层,代码执行效率相对较低,资源占用较多。

  • 开发速度快:适合快速开发和原型设计。

HAL库的教程,笔者建议是Keysking的教程,他的教学非常的顶层,基本原理是使用动画演示,非常的直观:

【STM32入门教程-2024】第2集 点灯大师 点亮你的第一颗小灯 | keysking的stm32教程哔哩哔哩bilibili

当然,其他的开发板的供应商,比如说野火/正点原子的视频也是不错的,这里就自行搜索吧!

相关文章:

  • DeepSeek 模型部署与使用技术评测(基于阿里云零门槛解决方案)
  • 创建一个新的 React Native 项目
  • Unity Muse AIGC工具
  • docker部署单机版doris,完整无坑
  • 网络变压器的主要电性参数与测试方法(1)
  • Unity URP的2D光照简介
  • 卷积神经网络CNN
  • 如何使用Pyinstaller 生成整包可执行文件
  • 【NLP】循环神经网络RNN
  • Java 后端开发:如何提取请求头中的 Cookie 和身份验证 Token
  • Qt QOpenGLWidget详解
  • 示例代码:C# MQTTS双向认证(客户端)(服务器EMQX)
  • 【Elasticsearch】多字段查询方式汇总
  • 【VS2022】创建本地仓库,开启Git管理控制
  • 笔记8——模式匹配 match语句(仅在Python 3.10及以上版本中可用)
  • Qt工作总结03 <qSort按某一属性进行排序>
  • SpringAI集成DeepSeek实战
  • 【Linux网络-网络基础】计算机网络背景+协议+OSI七层模型
  • 解释 Git 的基本概念和使用方式。
  • 渗透利器:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)
  • 看展览|2025影像上海艺博会:市场与当代媒介中的摄影
  • 丹麦召见美外交官,强调“不能容忍”美在格陵兰岛间谍活动
  • 上交现场配乐4K修复版《神女》:默片巅峰有了新的打开方式
  • 安徽六安原市长潘东旭,已任省市场监督管理局党组书记、局长
  • 农行原首席专家兼浙江省分行原行长冯建龙主动投案被查
  • “半世纪来对无争议边界最深入袭击”:印巴冲突何以至此又如何收场?