GPIO示意图
GPIO的输入模式有
1.输入浮空
2.输入上拉
3.输入浮空
这三种输入模式电路结构基本相同,不同点在于上拉电阻和下拉电阻所处的状态。
一般情况下,处于浮空的状态,但是这种状态就和在没有任何力作用下的太空中一样,受到轻微的干扰就会发生变化
上拉电阻和下拉电阻就像两种力一样作用在它的身上
但是,这两种电阻的组织也是比较大的的,所以起到的也是弱上拉和弱下拉
上拉就是将不确定的信号通过一个电阻嵌位在高电平,下拉同理
这样的意义是当引脚处于悬空状态的过程中收到一种情况的约束保持稳定
4.模拟输入
模拟输入是指传统方式的输入,数字输入是输入PCM数字信号,即0、1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。
不经过施密特触发器,为模拟信号
输出模式有:
1.开漏输出:P-MOS无效就是开漏输出
2.推挽输出:P-MOS有效就是推挽输出
推挽输出的最大特点是可以真正能真正的输出高电平和低电平,在两种电平下都具有驱动能力。
开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动。
输入配置
当I/O端口配置为输入时:
● 输出缓冲器被禁止
● 施密特触发输入被激活
● 根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接
● 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器
● 对输入数据寄存器的读访问可得到I/O状态
输出配置
当I/O端口被配置为输出时:
● 输出缓冲器被激活
─ 开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(PMOS从不被激活)。
─ 推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将激活P-MOS。
● 施密特触发输入被激活
● 弱上拉和下拉电阻被禁止
● 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器
● 在开漏模式时,对输入数据寄存器的读访问可得到I/O状态
● 在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。
模拟输入配置
当I/O端口被配置为模拟输入配置时:
● 输出缓冲器被禁止;
● 禁止施密特触发输入,实现了每个模拟I/O引脚上的零消耗。施密特触发输出值被强置
为’0’;
● 弱上拉和下拉电阻被禁止;
● 读取输入数据寄存器时数值为’0’