1、GPIO:I/O口,8种输入输出模式,引脚电平0-3.3V,带FT的可以容忍5V
2、输入模式可读取端口的高低电平:读取按键输入、外接模块电平信号,ADC电压采集,模拟通信协议接收数据
3、输出模式可以控制端口输出高低电平,驱动LED, 控制蜂鸣器, 模拟通信协议输出时序;
3、GPIO构造:(寄存器的低16位对应端口,高16位没用到)
GPIO都是挂载在APB2总线上的外设
GPIO的基本结构
输入部分:
(1)保护二极管:对输入电压进行限幅,使电流经过二极管流走
(2)上拉电阻和下拉电阻:上拉输入模式(默认高电平),下拉输入模式(默认低电平),浮空输入模式
(3)施密特触发器:对输入电压进行整形,只有高于上限和低于下限才发生变化,避免信号波动造成的抖动现象
(2)输入数据寄存器
(3)模拟输入至ADC:施密特触发器之前
(4)复用功能输入:施密特触发器之后
浮空输入 | 数字输入 | 可读取引脚电平,如果引脚悬空,则电平不稳定 |
上拉输入 | 数字输入 | 可读取引脚电平,内部连接上拉电阻,悬空默认高电平 |
下拉输入 | 数字输入 | 可读取引脚电平,内部连接上拉电阻,悬空默认低电平 |
模拟输入 | 模拟输入 | GPIO无效,引脚直接接入内部ADC |
输出部分:
(1)位设置/位清除寄存器:单独操作输出数据寄存器中的某一位
(2)输出数据寄存器:按位与和按位或的方法
(3)PMOS和NMOS管:
推挽输出模式(P和N都有效)
开漏输出模式(P无效,N有效,I2C通信采用)
关闭模式(P和N都无效)
开漏输出 | 数字输出 | 可输出引脚电平,高电平为高阻态,低电平接VSS |
推挽输出 | 数字输出 | 可输出引脚电平,高电平接VDD,低电平接VSS |
复用开漏输出 | 数字输出 | 由片上外设控制,高电平为高阻态,低电平接VSS |
复用推挽输出 | 数字输出 | 由片上外设控制,高电平接VDD,低电平接VSS |
GPIO的寄存器:
1、端口配置低寄存器
2、端口配置高寄存器
3、端口输入数据寄存器
4、端口输出数据寄存器
5、端口位设置/位清除寄存器
6、端口配置锁定寄存器
标签:输出,通用,引脚,输入输出,低电平,寄存器,GPIO,输入 From: https://www.cnblogs.com/czy363/p/18675649