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

HAL库外设设计思想

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

HAL库使用主线

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

一、外设初始化


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

二、外设的使用


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

阻塞轮询

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

中断

DMA

其他功能

相关推荐
自小吃多1 小时前
TMC220X芯片 串口工具连接交互
笔记·嵌入式硬件
笨笨饿1 小时前
34_数据结构_栈
c语言·开发语言·数据结构·人工智能·嵌入式硬件·算法
Wave8452 小时前
基于 STM32 的模块化多功能手表系统:从架构设计到低功耗深度实践
stm32·嵌入式硬件·智能手表
清风6666662 小时前
基于单片机的安全带长度高度拉力监测与自动锁紧控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
笨笨饿3 小时前
32_复变函数在工程中实际应用区别于联系
linux·服务器·c语言·人工智能·单片机·算法·学习方法
悟渔3 小时前
用于STM32的C++编程的LED对象
c++·stm32·单片机
yongui478343 小时前
基于STM32+W5500的IAP远程升级程序设计
stm32·单片机·嵌入式硬件
LCG元3 小时前
STM32实战:基于STM32CubeMX的串口通信(UART)与DMA传输优化
stm32·单片机·嵌入式硬件
qq_150841993 小时前
用Simplicity Studio开发EFM8单片机(续)
单片机·嵌入式硬件
yong99904 小时前
基于STM32与TFTLCD的示波器设计
stm32·单片机·嵌入式硬件