HAL库使用主线:外设初始化和外设使用
1.对外设的封装
xx_HandleTypeDef (xx时外设句柄结构体,xx表示任意外设名,比如GPIO,UART等),
xx_HandleTypeDef成员包括以下对象
Instance成员 | xx_TypeDef类型(具体的外设对象,比如GPIOA,GPIOB,串口1,串口2,IIC1,IIC2,DMA1的一个通道等等)一般指向一个外设基地址 |
Init成员 | xx_InitTypeDef类型(外设对象的工作参数,用于配置外设如何工作),配置外设如何工作 |
Hdma*成员 | DMA_HandleTypeDef类型,可能一个句柄结构体中有多个(如果外设支持DMA功能,此成员链接至一个具体的DMA通道) |
LOCK锁 | HAL_LockTypeDef类型(防止资源竞争,在对外设进行操作的时候,有些操作时不可重入的,保证操作的完整性) |
STATUS状态 | HAL_xx_StateTypeDef类型(提示外设的状态) |
2.外设初始化方法