【STM32】标准库与HAL库对照学习系列教程大全

【STM32】标准库与HAL库对照学习系列教程大全

  • 一、前言
  • 二、准备工作
  • 三、基础篇
  • 四、进阶篇
  • 五、特别篇
  • 六、外设篇


一、前言

前言:开始工作后,学习的时间变少了很多,但是今年的1024节,还是打算送个福利给大家,将之前的STM32教程汇总,方便大家学习与查找,学习嵌入式已经快3年了吧,感觉自己还是在入门阶段,STM32也快一年没碰了,现在经常用的大多都还是工作上的内容,所以文章有不对的地方还希望大家多多指正啦!!!


二、准备工作

学前准备:

  • C语言基础
  • STM32开发板
  • 程序烧录器(推荐ST-Link,可以直接在keil上烧录,教程网上一搜一大片)和烧录软件
  • 串口助手
  • keil 5cubemx

学习建议:

  • 一般的开发板都有配套教程,可以先跟教程学一遍,在来看文章效果会更好
  • 没有教程,推荐去B站看海创电子的STM32教程讲解,对于入门的学者效果非常好,或者看韦东山正点原子野火普中的教程都可以
  • 建议先学标准库,再学HAL库,标准库适合理解原理,cubemx生成的HAL库适合快速的做项目


三、基础篇

本篇作为STM32的入门学习讲解,主要掌握STM32经常使用的GPIO、中断、定时器、串口等。

  1. 【STM32】标准库与HAL库对照学习教程零–开发环境的搭建
  2. 【STM32】STM32标准库与HAL库对照学习教程一–使用寄存器操控LED闪烁详讲
  3. 【STM32】STM32标准库与HAL库对照学习教程二–库函数模板创建
  4. 【STM32】标准库与HAL库对照学习教程三–使用库函数配置GPIO点亮LED灯
  5. 【STM32】标准库与HAL库对照学习教程四–延时函数详解
  6. 【STM32】标准库与HAL库对照学习教程五–外部中断详讲与配置
  7. 【STM32】标准库与HAL库对照学习教程六–位带操作
  8. 【STM32】标准库与HAL库对照学习教程七–定时器中断
  9. 【STM32】标准库与HAL库对照学习教程八–串口通信详解


四、进阶篇

进阶篇作为基础篇的延伸,讲解STM32的其他常用功能。

  1. 【STM32】标准库与HAL库对照学习教程九–PWM输出呼吸灯
  2. 【STM32】标准库与HAL库对照学习教程十–输入捕获实验
  3. 【STM32】标准库与HAL库对照学习教程十一–ADC模数转换
  4. 【STM32】标准库与HAL库对照学习教程十二–DAC数模转换
  5. 【STM32】标准库与HAL库对照学习教程十三–软件IIC控制AT24C02
  6. 【STM32】标准库与HAL库对照学习教程十四–CAN总线


五、特别篇

讲解一些常用原理或者协议

  • 【STM32】STM32标准库与HAL库对照学习教程特别篇–系统时钟RCC详讲
  • 【STM32】标准库与HAL库对照学习教程特别篇–GPIO详讲
  • 【STM32】标准库与HAL库对照学习教程特别篇–IIC通信原理讲解
  • 【CANopen】CANopen总线讲解
  • 【Modbus】Modbus协议讲解


六、外设篇

讲解常用外设模块的驱动,并将学习的知识手动实践,加深理解。

  • 【STM32】标准库与HAL库对照学习教程外设篇–蜂鸣器
  • 【STM32】标准库与HAL库对照学习教程外设篇–按键控制
  • 【STM32】标准库与HAL库对照学习教程外设篇–红外避障传感器
  • 【STM32】标准库与HAL库对照学习教程外设篇–超声波测距传感器


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java 进阶篇】Java XML快速入门:理解、解析和生成XML

XML(可扩展标记语言)是一种常用于存储和交换数据的标记语言,而Java是一种强大的编程语言,它具有处理XML的能力。在本篇博客中,我们将探讨XML的基础知识,学习如何在Java中解析和生成XML文档,以及…

springboot 程序设计优雅退出

一 springboot优雅退出 1.1 概述 在springboot2.3版本后,实现了优雅退出功能。当server.shutdowngraceful启用时,在 web 容器关闭时,web 服务器将不再接收新请求,并将剩余活动执行完成给设置一个缓冲期。缓冲期 timeout-per-shu…

《向量数据库》——向量数据库Milvus Cloud 和Dify比较

Zilliz Cloud v.s. Dify Dify 作为开源的 LLMs App 技术栈,在此前已支持丰富多元的大型语言模型的接入,除了 OpenAI、Anthropic、Azure OpenAI、Hugging face、Replicate 等全球顶尖模型及模型托管平台,也完成了国内主流的各大模型支持&#…

pycharm操作git、前后端项目上传到gitee

pycharm操作git 之前用命令做的所有操作,使用pychrm点点就可以完成 克隆代码 上方工具栏Git ⇢ \dashrightarrow ⇢ Clone ⇢ \dashrightarrow ⇢ 填写地址(http、ssh) 提交到暂存区,提交到版本库,推送到远程 直接…

初始Redis 分布式结构的发展演变

目录 Redis的特点和使用场景 分布式系统的引入 单机系统 分布式系统 应用服务器的增多(处理更多的请求) 数据库读写分离(数据服务器的增多) 引入缓存 应对更大的数据量 业务拆分:微服务 Redis的特点和使用场景 我们先来…

Andriod学习笔记(二)

页面设计的零碎知识 通用属性设置文本大小设置视图宽高设置视图的对齐方式 页面布局LinearLayoutRelativeLayoutGridLayoutScollView 按钮触控ButtonImageViewImageButton 通用属性 设置文本大小 纯数字的setTextSize方法,内部默认字体单位为sp,sp是An…

YOLOv7-PTQ量化部署

目录 前言一、PTQ量化浅析二、YOLOv7模型训练1. 项目的克隆和必要的环境依赖1.1 项目的克隆1.2 项目代码结构整体介绍1.3 环境安装 2. 数据集和预训练权重的准备2.1 数据集2.2 预训练权重准备 3. 训练模型3.1 修改模型配置文件3.2 修改数据配置文件3.3 训练模型3.4 mAP测试 三、…

[Spring] SpringBoot2 简介(一)—— 基础配置

目录 一、SpringBoot 简介 1、Spring 的缺点 2、SpringBoot 功能 二、SpringBoot 入门案例 1、实现步骤 2、访问服务器 3、入门小结 4、Idea 快速构建 SpringBoot 工程 5、起步依赖无需版本号 6、主启动类的在项目中的位置(*重要*) 三、Sprin…

【小白专用 已验证】PHP连接SQLServer数据库

PHP是一门强大的服务器端脚本语言,而SQL Server是Microsoft开发的一款关系型数据库管理系统。为了在PHP中直接操纵SQL Server数据库,需要通过安装SQL Server扩展来实现。这篇文章将详细介绍如何在PHP中使用SQL Server扩展来操作数据库。 首先&#xff0…

链表的中间结点-力扣

1、题目描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海…

使用 Rust 和 cURL 库下载程序

以下是一个使用 Rust 和 cURL 库的下载器程序,用于下载 图像。此程序使用了 https://www.duoip.cn/get_proxy 的代码。 extern crate curl; ​ use std::io::{self, Read}; use std::error::Error; ​ fn main() {let url "https://www.baidu.com";let …

USB学习(1):USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式

连接计算机外围设备最简单的方法是通过USB(通用串行总线)。USB是即插即用接口,可以将扫描仪、打印机、数码相机、闪存驱动器等计算机外围设备连接到计算机上。本篇文章就来介绍一下USB的一些基础知识,包括。 文章目录 1 接口类型和标准规范2 引脚分布3 …

centos如何根据端口号查询程序路径

centos如何根据端口号查询程序路径 如果是半路接受的应用,上个人只给你说了程序的端口号,别的都没,那怎么找程序的路径哪?一是给上上个人要,二是自己找(我是自己找的) 小白教程,一…

【计网 DNS】计算机网络 DNS协议详解:中科大郑烇老师笔记 (六)

目录 0 引言1 DNS概述1.1 定义1.2 DNS域名结构1.2 域名解析步骤 🙋‍♂️ 作者:海码007📜 专栏:计算机四大基础专栏📜 其他章节:网络快速入门系列、计算机网络(一)、计算机网络&…

分享一下我家网络机柜,家庭网络设备推荐

家里网络机柜搞了几天终于搞好了,非专业的,走线有点乱,勿喷。 从上到下的设备分别是: 无线路由器(当ap用):TL-XDR6088 插排:德木pdu机柜插排 硬盘录像机:TL-NVR6108-L8P 第二排左边…

【Spring Cloud Alibaba】seata分布式事务官方入门案例(实战版)

文章目录 1. 业务介绍1.1. 用例1.2. 架构图1.3. 3个服务的代码及业务逻辑(略) 2. SEATA 的分布式交易解决方案3. 由Dubbo SEATA提供支持的示例(实战)3.1. 步骤 1:建立数据库,如seata数据库3.2. 步骤 2&…

2023高频前端面试题(含答案)

一、简单页面1、CSS选择器样式优先级2、CSS实现三列布局(左右固定宽度,中间自适应) (1)CSS浮动 第一个float:left,第二个float:right,第三个设置margin-left和margin-right (2&#…

无纸化办公小程序数据交互、wxs的使用

前言 很多同志们再写小程序的过程中,不知道该怎么发起HTTP请求到后端,在Web环境中发起HTTPS请求是很常见的,但是微信小程序是腾讯内部的产品,不能直接打开一个外部的链接。例如,在微信小程序中不能直接打开www.taobao…

ASRPRO语音识别模块

ASRPRO语音识别模块 SOFT IIC 与PCA9685模块通信 pca9685 iic通信 地址位 ADDR<<1|0 左移一位 #define I2C_WRITE 0 #define I2C_READ 1 否则通信地址错误 asrpro 通过UART与电脑连接&#xff0c;可以进行简单的交互 将STM32作为接口扩展&#xff0c;通过SPI或I…

Seata学习

Seata Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 官网地址&#xff1a;https://seata.io/zh-cn/index.html 为什么会产生分布式事务&#xff1f; 示例&#xff1a;用户下单后需要创建订单&#xff0c;同时…