嵌入式学习笔记2.GPIO的工作模式

GPIO的工作模式

根据GPIO的电路结构,引脚可以分为四种工作模式:

1.输入模式

根据是否开启上拉/下拉电阻,又可以分成3种输入模式:

(1)浮空输入

不使能上拉/下拉电阻。此时,I/0引脚的电平状态不确定,完全由外部输人决定。 MCU上电复位后,引脚默认的工作模式就是浮空输入。

(2)上拉输入

使能上拉电阻,1/0引脚内部接上拉电阻。如果引脚外部没有信号输入时,默认为高电平。

(3)下拉输入

使能下拉电阻,I/O引脚内部接下拉电阻。如果引脚外部没有信号输人时,默认为低电平。

输入模式下的上拉/下拉电阻在设计电路时比较有用。以按键电路为例,如果按键电路自身设计了上拉或下拉电阻,则引脚可以选择工作在浮空输人模式下。如果按键电路自身没有设计上拉或下拉电阻,则可以根据按键电路的设计,使能引脚的上拉/下拉电阻。这样可以减少按键电路的上拉或下拉电阻,起到简化电路的作用。


2.输出模式

当我们需要使用引脚作为数字输出时,常常使用输出模式。此时,输出驱动器启用,并配置为推挽类型或开漏类型,施密特触发器打开,可以读取引脚的电平状态。

根据MOS管的工作状态,又可以分成两种输出模式:

(1)推挽输出

**P-MOS管和N-MOS管轮流工作,可以输出高电平或低电平。**当输出数据寄存器的某一位为1时,经过非门后,P-MOS管处于导通状态,N-MOS管处于截止状态,对应的 I/O引脚将输出高电平;当输出数据寄存器的某一位为0时,经过非门后,P-MOS管处于截止状态,N-MOS管处于导通状态,对应的I/O引脚输出低电平。

(2)开漏输出

P-MOS管一直处于截止状态,只有N-MOS管工作,只能输出低电平。如果输出数据寄存器某一位为0时,N-MOS管处于导通状态,对应的I/O引脚将输出低电平。如果输出数据寄存器某一位为1时,N-MOS管处于截止状态。此时,对应I/O引脚的输出电平就不再由输出数据寄存器决定,而是由1/0引脚外部的上拉或下拉电阻决定。如果没有外部的上拉或下拉电阻,引脚将处于悬空状态。

在输出模式中,推挽输出是最常用的模式,用于指示灯、蜂鸣器、继电器及电机等外围电路的控制。

开漏输出则一般用于IIC总线(开漏模式加上拉电阻以实现双向数据通信)或者作为电平转换(3.3V电压与5V电压之间的转换)。


3.模拟模式

**模拟模式主要用于片内模拟外设(A/D、D/A、模拟比较器等)的信号通道。**当引脚工作于模拟模式时,施密特触发器被旁路,输出驱动器关闭,上拉/下拉电阻禁能,输人数据寄存器的值恒为0。此时,10引脚的功耗较小。因此在工程应用中,常常将没有用到的 I/O引脚设置为模拟模式,以减少系统功耗,提高抗干扰能力。


4.复用模式

GPIO引脚的基本功能是数字I/O,而STM32微控制器片内集成了大量的外设,如TIMER和UART等,这些片内外设的外部引脚与GPIO引脚复用。**在复用模式下,引脚的电平状态不再受端口寄存器组的控制,而是由片内外设控制。**此时,输出驱动器启用,可以配置为推挽类型或开漏类型;施密特触发器打开,可以读取引脚的电平状态。片内外设通过多路复用器与GPIO引脚互连,用户可以通过修改多路复用器,重新分配片内外设所映射的1/0引脚。引脚所对应的片内外设复用功能,可以通过查阅芯片的数据手册获取,或者在CubeMX软件的引脚分配图中点击对应引脚,在弹出的菜单中将列出该引脚的全部复用功能。


相关推荐
悠哉悠哉愿意2 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11012 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元2 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133972 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315202 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书2 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang2 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟3 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126913 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315203 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机