STM32学习
STM32学习(从点灯开始)
不知不觉也学习了很久的STM32了,写写文章来记录一下吧。
GPIO功能简介
stm32的GPIO有输入状态和输出状态
输出状态:开漏/推挽 + 上拉/下拉电阻
输入状态:浮空、上拉/下拉,模拟
对应HAL库就可以表示为下面六种模式:
GPIO_MODE_INPUT 输入模式
GPIO_MODE_OUTPUT_PP 推挽输出
GPIO_MODE_OUTPUT_OD 开漏输出
GPIO_MODE_AF_PP 复用推挽
GPIO_MODE_AF_OD 复用开漏
GPIO_MODE_ANALOG 模拟模式
复用指的是 GPIO 切换到 CPU 内部设备(比如 SPI,I2C,UART 等电路),也就是 GPIO 不是作为普通IO 使用,是由内部设备直接驱动。
LED灯硬件设计
这些 LED 灯的阴极都是连接到 STM32 的 GPIO 引脚,只要我们控制 GPIO 引脚的电平输出状态,即可控制 LED 灯的亮灭。
LED软件驱动设计
GPIO口初始化
使用一个GPIO就要先使能GPIO的时钟,这里我使用了一个宏定义来表示。使用宏定义的好处是方便移植。
#define ALL_LED_GPIO_CLK_ENABLE()