1.GPIO_PULLUP(上拉)
作用和原理
- 作用:上拉模式会在GPIO引脚和电源电压(Vcc)之间连接一个内部上拉电阻。
- 原理:当引脚配置为输入模式时,如果引脚没有连接到其他外部电路,内部上拉电阻会将引脚的电压拉到高电平(逻辑1)。
- 应用场景 :
- 按键:按键通常与地(GND)连接,在未按下时需要上拉电阻将引脚拉到高电平。当按键按下时,引脚被拉低到低电平(逻辑0)。
- I2C总线:I2C通信需要数据线和时钟线有上拉电阻,以确保总线空闲时处于高电平
2.GPIO_PULLDOWN(下拉)
作用和原理
- 作用:下拉模式会在GPIO引脚和地(GND)之间连接一个内部下拉电阻。
- 原理:当引脚配置为输入模式时,如果引脚没有连接到其他外部电路,内部下拉电阻会将引脚的电压拉到低电平(逻辑0),
- 应用场景 :
- 按键:按键通常与电源电压(Vcc)连接,在未按下时需要下拉电阻将引脚拉到低电平。当按键按下时,引脚被拉高到高电平(逻辑1)。
- 未使用的引脚:为确保未使用的引脚处于已知状态,防止其浮动引起干扰,可以将其配置为下拉模式。
3.GPIO_NOPULL(无上下拉)
作用和原理
- 作用:无上下拉模式意味着GPIO引脚没有连接到任何内部上拉或下拉电阻。
- 原理:在这种模式下,引脚的状态完全由外部电路决定。如果引脚未连接到任何外部电路,其电平可能会浮动,导致不可预测的行为。
- 应用场景 :
- 模拟输入:在使用ADC进行模拟输入时,通常希望引脚没有内部上下拉电阻,以避免影响模拟信号的准确性。
- 外部上拉/下拉:如果外部电路已经有合适的上拉或下拉电阻,则可以配置引脚为无上下拉模式。