GPIO:全面了解General Purpose Input/Output

一、GPIO是什么

GPIO(general porpose intput output):通用输入输出端口的简称。可以通过软件控制其输出和输入,通俗来说就是常用引脚,可以控制引脚的高低电平,对其进行读取或者写入。

二、GPIO的工作模式

1、输入模式(模拟,上拉,下拉,浮空)

  • 在输入模式时,施密特触发器打开,输出被禁止。
  • 可通过输入数据寄存器GPIOx_IDR 读取 I/O 状态。
  • 输入模式可以配置为模拟、上拉、下拉以及浮空模式。上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定。
  • 浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候可以使用这个模式。
  • 模拟输入则用于 ADC 采集。
  • 2、输出模式(推挽、开漏,复用推挽,复用开漏)

    (1)推挽输出:

    寄存器控制的是后边的输出,它的值是0或者1,我们编程的时候可以直接读写寄存器里边的值,如果我们要输出高电平,则P-MOS导通,N-MOS截止,这样输出的电压就是电源电压VDD,如果此时接通LED,则LED灯会被点亮,如果N-MOS导通,P-MOS截止,则输出的是低电平,相当于引脚直接接地,输出低电平。

    2、开漏输出

    当处于开漏输出时,P-MOS永远截止,当N-MOS导通时,输出的时低电平,当N-MOS也截止时,输出的是高阻态,因为两个都截止了,电阻可以看作无穷大,相当于引脚连着一个无穷大的电阻,所以呈现的是高阻态,如果想逃工作的话,外部就要接一个上拉电阻,因为这边相当于电阻无穷大,所以电压就会是上拉电阻的,而且开漏输出有“线与”的特性,比如多个开漏输出的引脚连接在一块,只有全部是高电平,才会使高电平,如果有一个是低电平,其他的就会被这个拉低,还有开漏为什么叫开漏,漏就是MOSFET的漏极,MOS管有三个引脚,分别是栅极(G)、源极(S)和漏极(D) ,因为从漏极开始,所以叫开漏。

    3、复用推挽/开漏

    复用推挽/开漏就是直接用下边那个复用功能输出连接直接连接单片机的内部外设,例如I2C,USART,PWM,这些通讯频率很高,每秒电平变化上万次,嘎嘎快,如果咱要用上边的寄存器的话,咱还得给引脚编程,控制它的输出,那我们不如直接用复用,直接外设控制引脚输出,如果需要“线与”的话,就用开漏,否则就要推挽。

     

     

    物联沃分享整理
    物联沃-IOTWORD物联网 » GPIO:全面了解General Purpose Input/Output

    发表评论