前言
之前一直用标准库开发,直到遇到了开发板以外的芯片,用标准库建立工程一直有问题,想着用HAL库配合Cube MX开发就省去了新建工程的烦恼!
开发环境配置
看着和标准库差不多,不写了。
函数使用
-
初始化GPIO
通过 void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) 完成,参数依次为哪一组GPIO、GPIO参数配置结构体。
参数配置结构体和标准库是一样的,只是名字不一样。 -
开启时钟
== __HAL_RCC_GPIOX_CLK_ENABLE(); ==
与标准库不同,HAL库中使用宏定义,刚开始看有点不习惯。 -
GPIO输出
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t,GPIO_Pin,GPIO_PinState PinState)
输入参数依次为哪一组GPIO、哪一个pin、输出状态。
使用的时候记得GPIO模式配置为输出。 -
读取IO口电平
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
输入参数依次为哪一组GPIO、哪个pin。
使用的时候记得GPIO模式配置为输入。感觉标准库转到HAL库难度不大,只是有些不习惯,练习例程就不写了。