一.什么是GPIO?
1.定义
GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的引脚STM32芯片的GPIO引脚与 外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。 简单来说我们可以控制GPIO引脚的电平变化,达到我们的各种目的。
2.命名规则
组编号+引脚编号
组编号:
GPIOA, GPIOB, GPIOC, GPIOD .. GPIOG
引脚编号:0,1,2,3,4...15
组合起来: PA0, PA1, PA2 .. PA15 PB0, PB1, PB2 .. PB15 PC0, PC1, PC2 .. PC15 ...
有一些特殊功能的引脚是不能用作IO的。
二.内部框架图

1.推挽输出与开漏输出

推挽输出: 可以真正能真正的输出高电平和低电平
开漏输出: 开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完 成对外驱动
三.如何点亮一颗LED灯
标号一样的导线在物理上是连接在一起的。


将PB8或PB9拉低,就可以实现将对应的LED灯点亮。
四.编程实现点灯
1.常用的GPIO HAL库函数:

2.结构体 GPIO_InitTypeDef 定义:
