(STM32)STM32的GPIO口输入输出模式
输出模式
输出状态下可控制输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等。
推挽输出
可输出强高低电平,驱动能力强,能快速地将引脚电平拉高或拉低,常用于驱动需要较大电流的设备,如LED、继电器等。
开漏输出
引脚只能输出低电平或高阻态,需要外部上拉电阻才能输出高电平。常用于I2C等总线通信,允许多个设备共享总线,实现线与功能。
复用推挽输出
用于将GPIO引脚复用为其他功能,如定时器的PWM输出、USART的发送引脚等,此时引脚的输出功能由相应的复用功能模块控制。
复用开漏输出
与复用推挽输出类似,只是输出模式为开漏,常用于一些特殊的复用功能,如I2C的SDA和SCL引脚在作为复用功能时通常使用复用开漏输出模式。
输入模式
输入模式下可读取端口的高低电平或电压,用于读取按键输入,外接模块电平信号输入、ADC电压采集、模拟通信协议接受数据等。
浮空输入
GPIO引脚电平由外部信号决定,内部上拉和下拉电阻均不使能。常用于外部中断输入引脚,可灵活检测外部信号的高低电平变化。
上拉输入
内部上拉电阻使能,引脚默认处于高电平,当外部输入为低电平时能可靠检测到。适用于按键输入电路,按键未按下时引脚为高电平,按下时接地变为低电平。
下拉输入
与上拉输入相反,内部下拉电阻使能,引脚默认处于低电平。某些需要检测外部低电平有效信号的场合会使用,如一些传感器输出低电平有效信号时,可连接到下拉输入引脚。
模拟输入
用于连接模拟信号源,将外部模拟信号输入到内部的模拟数字转换器(ADC)进行转换。
操作GPIO口的步骤
1、使用RCC开启GPIO时钟
2、使用GPIO_Init函数初始化GPIO
3、使用输出或输入的函数控制GPIO口
每个GPIO口都需要先初始化才能使用。
