stm32 - GPIO

基本结构

所有GPIO都挂在APB2总线上
寄存器:内核通过APB2总线对寄存器进行读写,实现电平的读写
GPIO引脚的每一位对应寄存器中的某一位
GPIO中的驱动器是增加信号驱动能力的,用于增大驱动能力

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

输入

读取端口的高低电平或电压,ADC电压采集

输入电路引脚:

保护二极管 VDD/VSS用于电压限伏, 输入电压通过IO引脚超过系统电压则限制

输入的是外部电路的电平信号
施密特触发器对输入电压进行整形:如果输入电压大于某一预知,输出就会瞬间升为高电平;如果电压小于某一阈值,输出就会瞬间降为低电平(就是将模拟信号转化为数字信号)
经过施密特触发器就能直接写入输入数据寄存器

  • 上拉输入(常用)

给输入一个默认输入电平
默认高电平输入
上拉输出模式:寄存器直接读取IO端口电平

IO端口高电平:读取的就是高电平
IO端口低电平:读取的就是低电平
IO端口悬空无信号输入:读取的就是高电平
在这里插入图片描述

  • 下拉输入

给输入一个默认输入电平
默认低电平输入

下拉输出模式:寄存器直接读取IO端口电平

IO端口高电平:读取的就是高电平
IO端口低电平:读取的就是低电平
IO端口悬空无信号输入:读取的就是低电平

在这里插入图片描述

  • 浮空输入

两个都断开就是浮空输入模式
输入不确定

在这里插入图片描述

  • 模拟输入

连接片上外设,一般连接到ADC上 (ADC需要接收模拟量)

  • 复用功能输入
    在这里插入图片描述
    在这里插入图片描述

输出

控制端口输出高低电平,进行驱动负载,模拟通信协议输出时序
对于控制功率比较大的设备,加入驱动电路即可

输出的是微控制器内部的控制信号
输出可以通过内核控制输出数据寄存器或片上外设控制,通过数据选择器接到输出控制电路
操作输出数据寄存器中的某一位就可以操作对应的端口了

  • 推挽输出

P-MOS或N-MOS均有效

强推挽输出模式,高低电平均有较强的驱动能力
数据寄存器为1时,P-MOS导通,N-MOS断开,输出借到VDD,输出高电平
数据寄存器为0时,P-MOS断开,N-MOS导通,输出借到VSS,输出低电平

  • 开漏输出

P-MOS无效,只有N-MOS有效

只有低电平有驱动能力,高电平没有驱动能力
数据寄存器为1时,P-MOS无效,N-MOS断开,输出相当于断开,即高阻模式
数据寄存器为0时,P-MOS无效,N-MOS导通,输出借到VSS,输出低电平

  • 关闭模式

IO口配置成输入模式,即为关闭模式

  • 推挽复用输出

  • 开漏复用输出

位设置/清除寄存器,可以用来单独操作输出数据寄存器的某一位,而不影响其他位
P/N- MOS MOS就是一种电子开关,信号控制开关的导通和关闭,开关负责将IO口街道VDD或VSS

在这里插入图片描述

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值