一、背景
本文记录本人最近STM32的一些学习经历,主要记录一些初始化配置的内容,以期拿到一块开发板可以通过CubeMX初始化后实现快速上手,尽快投入到程序开发,而非过多纠结单个外设的配置,陷入不断造轮子的境地。希望对大家有所帮助。
本教程以STM32F412RET6芯片为例,使用CubeMX初始化配置,最后调用HAL库函数实现基本功能。前提假设你已掌握基本的STM32知识,会查阅开发手册,可以看懂开发板原理图。
二、输入输出模式介绍
STM32系列的I/O引脚共有8种工作模式:
其中输入模式四种:输入浮空、输入上拉、输入下拉、模拟输入;
输出模式四种:推挽输出(Push Pull Output,PP)、开漏输出(Open Drain Output,OD)、复用推挽输出、复用开漏输出。
如果对8种工作模式的具体原理感兴趣请查阅其他相关资料。
三、GPIO 相关函数介绍
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);
功能: GPIO初始化。
实例:HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功能:读取引脚