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

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

概念

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

库寄存器

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

库寄存器的特征如下:

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

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

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

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

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

HAL库

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

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

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

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

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

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

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

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

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

http://www.lryc.cn/news/536782.html

相关文章:

  • Windchill开发-电子仓相关对象信息查询SQL
  • MySQL 数据库定时任务及进阶学习
  • DeepSeek教unity------MessagePack-01
  • 知识拓展:Python序列化模块 marshal 模块详解
  • leetcode 2684. 矩阵中移动的最大次数
  • 机械学习基础-6.更多分类-数据建模与机械智能课程自留
  • 自动化测试实战
  • qt QPlainTextEdit总结
  • AWS SES 邮件服务退信/投诉处理与最佳实践指南
  • 理解WebGPU 中的 GPUAdapter :连接浏览器与 GPU 的桥梁
  • rpx和px混用方案
  • 光伏设计软件分类:无人机、Unity3D引擎齐上阵
  • 太速科技-616-基于6U VPX XCVU9P+XCZU7EV的双FMC信号处理板卡
  • 国产鲲鹏920+欧拉+达梦
  • LeetCode--146. LRU 缓存【Golang中的list】
  • 查看notebook的jupyter token
  • vue+springboot+webtrc+websocket实现双人音视频通话会议
  • 什么是高亮环形光源
  • 2025年3月一区SCI-混沌进化优化算法Chaotic evolution optimization-附Matlab免费代码
  • 51单片机俄罗斯方块开机动画
  • RK3588开发板部署DeepSeek-R1-Distill-Qwen-1.5B的步骤及问题
  • 网络安全 | 安全信息与事件管理(SIEM)系统的选型与实施
  • DeepSeek接口联调(postman版)
  • RadASM环境,win32汇编入门教程之三
  • oracle多次密码错误登录,用户锁住或失效
  • HCIA-Datacom笔记3:网络工程
  • [NGINX]命令行参数
  • http 模块
  • 本地部署DeepSeek + AnythingLLM 搭建高效安全的个人知识库
  • LLM - 理解 DeepSeek 的 GPRO (分组相对策略优化) 公式与源码 教程(2)