zoukankan      html  css  js  c++  java
  • STM32的GPIO的8种工作模式

    GPIO

    GPIO的英文全称General-Purpose Input /Output Ports,中文意思是通用I/O端口。

    GPIO的八种工作模式,

    (1)GPIO_Mode_AIN 模拟输入

    (2)GPIO_Mode_IN_FLOATING 浮空输入

    (3)GPIO_Mode_IPD 下拉输入

    (4)GPIO_Mode_IPU 上拉输入

    (5)GPIO_Mode_Out_OD 开漏输出

    (6)GPIO_Mode_Out_PP 推挽输出

    (7)GPIO_Mode_AF_OD 复用开漏输出

    (8)GPIO_Mode_AF_PP 复用推挽输出

    上拉输入、下拉输入:上拉就是使IO口接上拉电阻到VCC了,跟51一样,下拉就是使IO口接下拉电阻到GND了,浮空就是即不接上拉,也不接下拉,这样的话IO默认输入电平不确定,上拉就是输入高电平,然后接一个上拉电阻(起保护作用),在你目前开发学习时,只需要知道上拉就表示该端口在默认情况下输入为高电平,下拉就相反了,指输入接低电平,然后接一个下拉电阻(关于上拉电阻与下拉电阻,设计比较多的数电模电知识,此处就略过,反正其保护电路的作用),

    浮空:顾名思义,就相当与此端口在默认情况下什么都不接,呈高阻态,这种设置在数据传输时用的比较多,

    推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。

    开漏输出:

    关于推挽输出和开漏输出,最后用一幅最简单的图形来概括:

     

    该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。推挽输出可以提高电路的负载能力,提高开关速度。

    右边的则可以理解为开漏输出形式,需要接上拉。

    浮空输入:对于浮空输入,一直没找到很权威的解释,只好从以下图中去理解了

     

    由于浮空输入一般多用于外部按键输入,结合图上的输入部分电路,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。

    复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)

    最后总结下使用情况:

    在STM32中选用IO模式
    (1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,一般实际运用时,引脚不建议悬空,易受干扰。
    (2)带上拉输入_IPU——IO内部上拉电阻输入
    (3)带下拉输入_IPD—— IO内部下拉电阻输入
    (4) 模拟输入_AIN ——模拟输入是指传统方式的输入,可以用作ADC输入,或者低功耗下省电
    (5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能,适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。 
    (6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的
    (7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL,SDA)
    (8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)

    AFIO时钟

    外部中断、事件输出、重映射的时候需要需要开启AFIO时钟,端口复用功能的时候不需要开启AFIO时钟

    作者:cumtchw
    出处:http://www.cnblogs.com/cumtchw/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    HDU 2544 最短路
    HDU 3367 Pseudoforest
    USACO 2001 OPEN
    HDU 3371 Connect the Cities
    HDU 1301 Jungle Roads
    HDU 1879 继续畅通工程
    HDU 1233 还是畅通工程
    HDU 1162 Eddy's picture
    HDU 5745 La Vie en rose
    HDU 5744 Keep On Movin
  • 原文地址:https://www.cnblogs.com/cumtchw/p/6739673.html
Copyright © 2011-2022 走看看