每个gpio内部有三种状态:上拉、下拉、不拉。
什么时候,需要选择上拉、下拉或不拉呢
1. 如果是output,那个一般选择no pull,这样,引脚才能根据你的output数据,进行正确输出。
2. 如果是input,那么需要看具体应用的默认输入值是0还是1.
2.1 如果默认是输入0,则最好配置为pull down,反之则配置为pull up.
这样做,主要是为了外部电路在没有上下拉的情况下,出现不确定情况。有许多硬件工程师设计电路时,会在GPIO口的外部设计上下拉电阻,这和内部配置pull up/down是一个目的,且效果相同。
3.举例说明
PULLUP&PULLDOWN针对输入模式,比如我们一个单片机的I / O脚接一个按键的左端,按键的右端接正电源,那么我们就要设置I / O脚为下拉模式,因为这样才能使得按键按下去的时候,能把I / O脚拉高,不然设置上拉模式的话,即按键的功能等于摆设。同理,如果按键另一端接地,我们就要设置为上拉模式了。
4. 总结
上拉电阻的目的是为了保证在无信号输入时输入端的电平为高电平。
而在信号输入为低电平时输入端的电平应该也为低电平。如果没有上拉电阻,在没有外界输入的情况下输入端是悬空的,它的电平是未知的无法保证的,上拉电阻就是为了保证无信号输入时输入端的电平为高电平。
下拉电阻它是为了保证无信号输入时输入端的电平为低电平。
一般来说,需要区分这个GPIO口用于输入还是输出。