STM32之HAL开发——HAL库框架介绍

HAL库外设设计思想

HAL库借鉴面向对象的设计思想,将外设驱动封装为对象。

HAL库使用主线

HAL使用的主要用在俩个地方,无外乎外设初始化以及外设的使用。想用好这两个功能,我们首先得对外设的封装有一定的了解。
句柄结构体
xx_HandleTypeDef(xx外设句柄结构体,xx表示任意外设名,如GPIO、UART等),这种类似的变量名成为句柄结构体,里面包含着外设初始化所需要用到的配置参数成员。
一般来说都会包含以下这些内容(如图所示):

一、外设初始化


在完成对句柄指针内成员变量的配置后,我们需要调用句柄指针进行一个初始化,HAL库提供的初始化函数有这些,或者说初始化方法有这些:

二、外设的使用


在HAL库中外设的使用就比较复杂了,会有以下这几种常用的使用逻辑:阻塞轮询,中断,DMA。

阻塞轮询

阻塞轮询顾名思义就是在执行完特定任务前,会一直阻塞循环查看当然任务是否被执行完,如果执行完才能运行到程序的下一步,但是在HAL中提供了超时函数,方便超时退出。

中断

DMA

其他功能

相关推荐
IT方大同2 小时前
KEY(按键)&BUZZ(蜂鸣器)
单片机·嵌入式硬件
zd8451015002 小时前
STM32多路步进电机控制板
单片机·嵌入式硬件
进阶的猪2 小时前
stm32 USART-中断回显实验 Q&A
stm32·单片机·嵌入式硬件
应用市场2 小时前
基于 C# WinForms 的 Windows 系统监控工具开发实战
windows·单片机·c#
@good_good_study2 小时前
STM32 通用定时器基础中断配置函数及实验
stm32·单片机
wotaifuzao2 小时前
STM32最新的CubeMx v6-16-1下载及安装-包含固件库下载教程(免费提供下多版本载链接)(二)
stm32·单片机·嵌入式硬件·cubemx·stm32cubemx·stm32f407
youcans_2 小时前
【STM32-MBD】(1b)Matlab2025b 安装 STM32 硬件支持包
stm32·单片机·嵌入式硬件·matlab·simulink
anghost1503 小时前
基于 STC89C52 单片机的自动窗帘系统设计
单片机·嵌入式硬件
Wnq100723 小时前
新型基于“去中心化分布式Agent“技术的操作系统DIOS
分布式·嵌入式硬件·中间件·架构·云计算·去中心化·信息与通信
IT方大同3 小时前
SYSTICK、RCC应用
单片机·嵌入式硬件