STM32_HAL库所用到的函数(持续更新)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
文章目录
HAL库概念及优点
一、对HAl库常见的函数记录
1.GPIO
HAL库概念及优点
HAL(Hardware Abstraction Layer)即硬件抽象层。它是 ST(意法半导体)公司为其 STM32 系列微控制器推出的一种软件库。其主要目的是提供一种简单且高效的方式来操作硬件设备,使得用户可以更方便地开发基于 STM32 的应用程序,而无需深入了解底层寄存器的复杂细节。
HAL 库主要有以下优点:
提示:以下是本篇文章正文内容,下面案例可供参考
一、对HAl库常见的函数记录
1.GPIO
void MX_GPIO_Init();
//1.初始化函数 通过在CubeMax里的设置生成
//2.对芯片的 GPIO 引脚进行初始化配置,
像设置引脚是作为输入还是输出、是否开启上拉或下拉电阻等
HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
//1.翻转引脚状态 0/1参数:
GPIOx —GPIO中某一系列引脚,如GPIOA,GPIOC..
GPIO_Pin —如GPIO_Pin_0;
HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
//1.读取引脚状态参数:
GPIOx —GPIO中某一系列引脚,如GPIOA,GPIOC..
GPIO_Pin —如GPIO_Pin_0;
HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
//1.写引脚状态 0/1参数:
GPIOx —GPIO中某一系列引脚,如GPIOA,GPIOC..
GPIO_Pin —如GPIO_Pin_0;
PinState —
枚举类型的变量;
中断函数
图示函数为 EXTI15_10 触发的外部中断函数
HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
//1.首先会清除中断标志位
//2.会调用HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
其中HAL_GPIO_EXTI_Callback函数是一个回调函数,用户可以在自己的代码中重写这个函数,来定义当特定引脚中断发生时要执行的具体操作;
2.UART
1.//串口发送数据,使用超时管理机制
HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout);
实列:HAL_UART_Transmit(&huart1, buffer, 10, UINT32_MAX);
参数1:句柄
参数2: 需要发送的数据
参数3:发送数据的长度
参数4:超时时间
2.//串口接收数据,使用超时管理机制
HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);
参数1:句柄
参数2: 接收数据存放地址
参数3:接收数据的长度
参数4:超时时间
3.//串口中断发送
HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size);
4.//串口中断接收
HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
作者:Mind the gap223