1、GPIO如何操作?八种模式是什么?
数字输入:
1,输入浮空(IN_FLOATING)
引脚上输入0,读到0,引脚上输入1,读到1,当引脚上没有任何输入时,读到上一次的状态
可读取引脚电平,若引脚悬空,则电平不确定
完全由外部输入决定
2,输入上拉(IPU(In Pull Up))
上拉电阻闭合,引脚上输入0,读到0,引脚上输入1,读到1,当引脚上没有任何输入时,读到1
可读取的引脚电平,内部接上拉电阻,悬空时默认高电平
外部按键key接地
3,输入下拉(IPD(In Pull Down))
下拉电阻闭合,引脚上输入0,读到0,引脚上输入1,读到1,当引脚上没有任何输入时,读到0
可读取的引脚电平,内部接下拉电阻,悬空时默认低电平
外部按键key接vcc
模拟输入:
4,模拟输入(AIN(Analog IN)))
不经过施密特触发器,既不上拉也不下拉,引脚上输入的模拟量直接进入芯片内部的片上外设
GPIO引脚无效,引脚直接接入内部ADC
即为输入模拟信号ADC
数字输出:
5,开漏输出(OUT_OD(Out open Drain))
P-MOS完全截断,不能输出高电平,低电平能够正常输出
可输入引脚电平,高电平为高阻态,低电平接vss
高电平相当于高阻态,没有驱动能力,低电平有驱动能力
6,推挽式输出(OUT_PP(Out Push Pull))
P-MOS和N-MOS都正常工作,能够输出高电平或者低电平
可输入引脚高电平,高电平接vdd,低电平接vss
高低电平均有驱动能力
7,推挽式复用功能(AF_PP(Atl Push pull))
8,开漏复用功能(AF_OD(Atl Open Drain))
复用:GPIO引脚受片上外设控制,AFIO—复用IO
通用:GPIO引脚受内核控制,数据来源于输出数据寄存器
STM32F4 有很多的内置外设,这些外设的外部引脚都是与 GPIO 复用的。
也就是说,一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候-----------------就叫做复用。
施密特触发器作用:
纠正电平
图:io端口位的基本结构