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

从零开始学习单片机16

STM32单片机

STM32和51单片机的区别

51单片机的外设资源少,寄存器少,运行速度慢,价格便宜,容易上手

STM32单片机的外设资源更多,寄存器多,运行速度相对快,价格相对贵,上手相对较难

STM32的寄存器寄存器非常多,更复杂,一般用库函数进行编程,也就是API接口,这是与51单片机编程时最大的区别

寄存器编程与库函数编程:

寄存器编程是直接操作寄存器的编程

库函数编程相当于是间接的寄存器编程,就是把寄存器的参数和配置封装成函数,可以调用函数进行外设初始化,厂家封装提供好的,只需要去操作厂家提供的函数,去初始化对应的一些外设,就可以完成对芯片的一些资源的使用

寄存器编程(直接对寄存器进行操作,是最接近底层的编程方式,也是运行效率最高的)

库函数编程(代码更好维护,开发过程更快,可移植能力强)

ST提供的3种库函数编程方式:标准库、HAL库、LL库

其中标准库是最早的,已经停止维护了,现在更多使用HAL库,LL库的效率更高,在特殊情况下使用,CubeMX现在里面只有HAL库和LL库

HAL库的优点:

最大可移植性

2.提供了一整套一致的中间件组件,如RTOS,USB,TCP/IP和图形等

3.通用的用户友好的API函数接口

4.HAL库已经支持STM32全线产品

学习STM32所需要软件:

Keil MDK用于编写代码,编译代码(与之前51单片机用的不同)

STM32CubeMX用于自动生成工程,减少手动重复工作

vscode用于更高效地编写代码

http://www.xdnf.cn/news/18990.html

相关文章:

  • 循环高级(2)
  • 血缘元数据采集开放标准:OpenLineage Integrations Manually Annotated Lineage
  • 企业级数据库管理实战(二):数据库权限最小化原则的落地方法
  • 【分治法 BFS 质因数分解】P12255 [蓝桥杯 2024 国 Java B] 园丁|普及+
  • 智慧养老建设方案(PPT)
  • 开源大语言模型(Qwen3)
  • 深入探讨可视化技术如何实现安全监测
  • 【小白笔记】Visual Studio 在 2025年7月更新的功能说明(英文单词记忆)
  • 智慧工地系统:基于Java微服务与信创国产化的建筑施工数字化管理平台
  • 171-178CSS3新增
  • NullPointerException 空指针异常,为什么老是遇到?
  • 评价指标FID/R Precision
  • vscode编辑器中设置断点,不会自动启动调试器
  • 介绍⼀下Llama的结构
  • Spring Boot 整合 MongoDB:CRUD 与聚合查询实战
  • Jenkins 全方位指南:安装、配置、部署与实战应用(含图解)
  • 如何规划一年、三年、五年的IP发展路线图?
  • 01.<<基础入门:了解网络的基本概念>>
  • Leetcode 深度优先搜索 (15)
  • WINTRUST!_ExplodeMessag函数中的pCatAdd
  • Yolov8 pose 推理部署笔记
  • Vue开发避坑:箭头函数与普通函数的正确使用指南
  • LeetCode 刷题【55. 跳跃游戏】
  • 从协作机器人到智能协作机器人:工业革命的下一跳
  • 【JavaScript】递归的问题以及优化方法
  • 安宝特方案丨安宝特工业AR全链路解决方案
  • Unity游戏打包——iOS打包基础、上传
  • java后端的各种注解
  • Linux 禁止 su 的几种限制手段:从 NoNewPrivileges 到 PAM 配置
  • GitHub 宕机自救指南:确保开发工作不间断