GPIO基本结构
STM32的大部分引脚除了当使用外,还可以复用为外设功能引脚(比如串口)
GPIO工作方式
-
4种输入模式
- 输入浮空:IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
- 输入上拉
- 输入下拉
- 模拟输入
-
4种输出模式
- 开漏输出(带上拉或者下拉):输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
- 开漏复用功能(带上拉或者下拉)
- 推挽式输出(带上拉或者下拉):可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。
- 推挽式复用功能(带上拉或者下拉)
-
4种最大输出速度
- 2MHZ
- 25MHZ
- 50MHZ
- 100MHZ
GPIO库函数
- 重要函数
- 一个初始化函数
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
这个函数有两个参数,第一个参数是用来指定需要初始化的GPIO对应的GPIO组,取值范围为GPIOA~GPIOK。第二个参数为初始化参数结构体指针
2. 两个读取输入电平函数