2.GPIO知识点
1、GPIO(General Purpose input Output)通用输入输出口,可配置8种输入输出模式
2、引脚电平:0~3.3V,某些引脚可达到5V(在引脚定义的电平列当中带FT则可承受5V电压,其余的则为3.3V)
3、输出模式下可控制输出高低电平以驱动外部设备与模拟通信协议的输出时序
4、输入模式可读取端口的高低电平或电压、用于读取外部设备的输入、模拟通信协议接收数据。
5、GPIO基本结构

- 所有GPIO外设均挂载在APB2总线上
- 每个GPIO外设都有16格引脚,引脚编号从0~15
- GPIO模块内主要包含寄存器和驱动器
- 寄存器是一段特殊的存储器,内核通过APB2总线对寄存器进行读写,可达到输出、读取电平功能。内部寄存器是32bit,而端口仅存在16bit,故寄存器只有低16bit对应有引脚
- 驱动器用来增加信号的驱动能力
6、GPIO位结构
输入部分电路分析
IO引脚处接入的两个保护二极管:对输入电压进行限幅(Vdd接3.3V,Vss接0V)
若输入电压比3.3V高,则上方二极管导通,则输入电流流入Vdd,不会流入内部电路,防止内部电路毁坏
若输入电压比0V低,则下方二极管导通,则Vss输入电流流至外部,不会流入内部电路,防止内部电路毁坏
而后至上拉电阻与下拉电阻(可程控)
上面导通,下面断开,上拉模式(默认为高电平的输入模式),上拉电阻较大,不影响外部输入
下面导通,上面断开,下拉模式(默认为低电平的输入模式),下拉电阻较大,不影响外部输入
两者均断开,浮空输入,易受到外部干扰
TTL肖特基触发器(此处在英文文档中为施密特触发器)
对输入电压进行整形:
当输入电压大于某一阈值,输出瞬间升为高电平;
当输入电压小于某一阈值,输出瞬间降为低电平;

注:本图来自《STM32F10x-中文参考手册》8.1 GPIO功能描述
施密特触发器的整流效果:

输出电路部分分析
位设置/清除寄存器写入1,则输出数据寄存器会被设置为相应的电平数据
而后数据输出值输出控制,后面接上方接P-MOS管,下方接入N-MOS管
在推挽输出模式下,P-MOS、N-MOS均有效。数据为1时,上管导通,下管断开,输出高电平;数据为0时,下管导通,上管断开,输出低电平。高低电平有较强的驱动能力。
在开漏模式下,PMOS无效,只有N-MOS有效。在数据为1时,输出相当于断开,即高阻模式;在数据为0时,输出相当于0V,即引脚输出低电平;
在关闭模式下,PMOS无效,N-MOS也无效。即引脚电平由外部决定;
GPIO模式

浙公网安备 33010602011771号