【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,一经查实,立即删除!

相关文章

[WSL][ubuntu]解决WSL Ubuntu+xfce4 图形界面一段时间后黑屏

问题场景:WLS中Ubuntu安装xdrp进行远程桌面连接一段时间后会黑屏,这是因为锁屏后不能正常唤醒导致,因此很直接方法就是不让锁屏: 1、进入图形界面,点击右上角Applications--->Settings--->Light Locker Setting…

【Hive SQL 每日一题】环比增长率、环比增长率、复合增长率

文章目录 环比增长率同比增长率复合增长率测试数据需求说明需求实现 环比增长率 环比增长率是指两个相邻时段之间某种指标的增长率。通常来说,环比增长率是比较两个连续时间段内某项数据的增长量大小的百分比。 环比增长率反映了两个相邻时间段内某种经济指标的变…

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

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

springboot 程序设计优雅退出

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

LeetCode75——Day13

文章目录 一、题目二、题解 一、题目 1679. Max Number of K-Sum Pairs You are given an integer array nums and an integer k. In one operation, you can pick two numbers from the array whose sum equals k and remove them from the array. Return the maximum num…

《向量数据库》——向量数据库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) 提交到暂存区,提交到版本库,推送到远程 直接…

Qt判断文件夹路径、文件是否存在不存在则创建

Qt判断文件夹路径、文件是否存在不存在则创建 Chapter1 Qt判断文件夹路径、文件是否存在不存在则创建Qt判断文件夹/目录是否存在Qt判断文件是否存在 Chapter2 Qt 判断文件或文件夹是否存在及创建文件夹1. 判断文件夹是不是存在2. 判断文件是不是存在3、判断文件或文件夹是不是存…

C. Medium Design Codeforces Round 904 (Div. 2)

Problem - C - Codeforces 题目大意&#xff1a;有一个长为m的数组初始全为0&#xff0c;有n个区间[li,ri]&#xff0c;每选择一个区间就要令区间内所有数1&#xff0c;要求选择一些区间&#xff0c;使得数组的最大值-最小值最大&#xff0c;求这个差值 1<n<1e5;1<m…

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

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

Andriod学习笔记(二)

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

JWT——jjwt使用

文章目录 一、JWT是什么&#xff1f;二、JWT构成0、header.payload.signature1、header 头部 (JSON数据&#xff0c;Base64加密)2、payload 载荷 (JSON数据&#xff0c;Base64加密)2.1、Public claims(公共的声明)2.2、Private claims(私人声明)2.3 注意: 3、signature 签名&am…

第六十五章 符号概览

文章目录 第六十五章 符号概览其他形式abcdef{"abc":(def),"abc":(def),"abc":(def)}{abcdef}{%%CLASSNAME}&sql(xxx)[abcdef,abcdef,abcdef]*abcdef?abcdefabcdef 第六十五章 符号概览 其他形式 abcdef ^abcdef "abcdef" 这…

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、主启动类的在项目中的位置&#xff08;*重要*&#xff09; 三、Sprin…

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

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

链表的中间结点-力扣

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

使用 Rust 和 cURL 库下载程序

以下是一个使用 Rust 和 cURL 库的下载器程序&#xff0c;用于下载 图像。此程序使用了 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是即插即用接口&#xff0c;可以将扫描仪、打印机、数码相机、闪存驱动器等计算机外围设备连接到计算机上。本篇文章就来介绍一下USB的一些基础知识&#xff0c;包括。 文章目录 1 接口类型和标准规范2 引脚分布3 …

【RuoYi移动端】uni-app中的单击和双击事件

1、单击事件&#xff1a; click"enterpriseSelect" 2、双击事件&#xff1a; touchend"userinfo"