1.HAL库代码风格理解
I/O、UART、SPI、USB、IIC等外设结构体总结
1、GPIO外设
GPIO只有初始化结构体。只需要定义初始化结构体即可(GPIO_InitTypeDef GPIO_InitStruct;),内部成员都可通过初始化结构体引用。
2、UART外设
UART、IIC、SPI等外设(除I/O外),都有句柄结构体和初始化结构体,一般定义句柄结构体就行了(UART_HandleTypeDef husartx;),内部所有的成员都可通过句柄结构体引用。
以上就是HAl开发的关键,出来I/0外,无论用哪种外设(如:uart),只需要相应的定义句柄结构体(UART_HandleTypeDef husartx;)即可。
理解了初始化结构体和句柄结构体,就等于是入门了。
UART代码
硬石STM32F407开发手册