STM32中GPIO的8种工作模式

本文详细介绍了STM32中GPIO的各种工作模式,包括输入的上拉、下拉和模拟模式,以及输出的推挽、开漏、复用推挽和复用开漏模式,帮助理解GPIO在不同场景下的应用和功能特性。
摘要由CSDN通过智能技术生成

STM32中GPIO的八种工作模式

一、什么是GPIO?

通用输入输出端口,简称GPIO

作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出

二、概念理解

1.输入输出

首先,我们先要知道,GPIO的输入输出都是相对于MCU(单片机)来说的。

MCU给引脚信号,称之为输出

MCU接收引脚给过来的信号,则叫做输入。

2.保护二极管

芯片的引脚电平0~3.3V,部分引脚可以5V,引脚的两个保护二级管可以防止引脚外部过高或过低的电压输入

1.当引脚电压高于VDD 时,上方的二极管导通

防止过高电压进入芯片内部烧坏芯片

2.当引脚电压低于 VSS 时,下方的二极管导通

防止电压过低,从芯片内部汲取电流

3.施密特触发器

具有滤波的作用,就是让通过的电平输出稳定的高低电平

施密特触发器:对输入电压进行整形的,如果输入电压大于某一阈值时输出瞬间升为高电平,如果输入电压小于某一阈值时输出瞬间升为低电平(只有高于上限或低于下限,输出才会发生变化)

4.位设置寄存器:如果需要对某一位进行置1的操作,在位设置寄存器的对应位写1,其他不需要操作的位置0,内部电路会自动将输出数据寄存器中对应位置写1,而剩下写0的位则保持不变

(保证了只操作某一位而不影响其他位)

5.清除寄存器:如果需要对某一位进行置0的操作,在清除寄存器的对应位写1,其他不需要操作的位置0,内部电路会自动将输出数据寄存器中对应位置写1,而剩下写0的位则保持不变

(保证了只操作某一位而不影响其他位)

三、四种输模式

  1. 上拉输入模式(高电平的输入模式):上面导通,下面断开(接入上拉电阻,当引脚悬空时,上拉电阻保证引脚高电平)

  1. 下拉输入模式(低电平的输入模式:下面导通,上面断开(接入下拉电阻,当引脚悬空时,下拉电阻保证引脚低电平)

3.浮空模式:两个都断开(引脚悬空不确定,高电平低电平受外界影响)

4.模拟输入

从图示可以看到,之前的3种模式,输入的信号都经过了TTL施密特触发器,把缓慢变化的模拟信号转换成阶段变化的数字信号。而这种模式,信号没有经过施密特触发器,直接接到片上外设。

相较于其他输入模式只能读取到逻辑高/低电平(数字量),该模式能读取到细微变化的值(模拟量)。

通俗来讲就是,别的模式只能读取0和1,而模拟输入可以读取到0-1的变化区间。

四、四种输出模式

1.推挽输出模式(强推输出模式):高低电平均具有较强的驱动能力

数据寄存器为1时,上管导通,下管断开,输出直接接在VDD,就是输出高电平

数据寄存器为0时,上管断开,下管导通,输出直接接在Vs's,就是输出低电平

2.开漏输出模式:P-MOS无效,N-MOS在工作,只有低电平有驱动能力,高电平没有驱动能力

开漏模式可作为通信协议的驱动方式,如I2C,可避免各个设备的相互干扰

数据寄存器为1时,下管断开,输出相当于断开,也就是高阻模式

数据寄存器为1时,下管断开,输出直接接在VSS,输出低电平

3、复用推挽输出

和推挽输出同理,只不过此时的输出控制器由片上外设控制

4、复用开漏输出

和开漏输出同理,只不过此时的输出控制器由片上外设控制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值