1. 什么是上拉电阻

在学习单片机的时候,我们经常遇到一组名词:上拉电阻和下拉电阻,通过学习我们知道上下拉电阻不仅能使当前电平稳定避免受到干扰,同时上拉电阻还能提高单片机的驱动能力。

 

2. 上拉电阻的几个典型应用

在使用中,用到上拉电阻的场合有这么几个典型:

按键输入检测;

IIC 通讯;

通常,我们都习惯这样设计按键:按键按下时单片机检测到低电平,按键松开时检测到高电平,这个高电平就是通过上拉电阻实现的:

 

 

IIC 是一种通讯方式,只需要通过 SCL 和 SDA 即可实现数据的传输,在典型的 IIC 器件手册上都会发现 SCL 和 SDA 引脚上,都会推荐接上拉电阻:

 

 

3. 如何配置为上拉输入模式

如果在设计硬件电路的时候,忘记了设计上下拉电阻,该怎么办呢?别着急,

32 位的单片机,其 GPIO 口基本上都配有内部上下拉电阻,通过寄存器控制,可以将某个引脚设置为上下拉模式:

 

 

以 STM32 单片机为例。STM32 单片机的每个 GPIO 口都可以独立设置为上拉或者下拉输入模式。

 

 

在将 GPIO 口设置为输入模式后,只需要将对应端口的 PXODR 设置为 1 即配置为上拉输入,将 PXODR 设置为 0 即配置为下拉输入。

 

如下是将 STM32 单片机的 PA15 设置为上拉输入模式的程序: