嵌入式学习笔记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 小时前
龙芯1C102单片机的中断
单片机·龙芯1c102
学不动CV了3 小时前
FreeRTOS---任务级和中断级临界区管理使用的理解与源码分析
c语言·arm开发·stm32·单片机·嵌入式硬件·51单片机
Stanford_11064 小时前
关于单片机的原理与应用!
c++·单片机·嵌入式硬件·微信小程序·微信公众平台·微信开放平台
GilgameshJSS4 小时前
STM32H743-ARM例程10-WWDG
c语言·arm开发·stm32·单片机·嵌入式硬件
JiaWen技术圈5 小时前
关于机器人的物理结构(连杆、关节、执行器)的快速入门介绍
人工智能·单片机·嵌入式硬件·机器人·硬件架构
lingzhilab6 小时前
零知IDE——基于STM32F407VET6和雨滴传感器的多界面TFT降雨监测显示系统
c++·stm32·单片机
zhmc7 小时前
MCU的取指周期与等待周期以及预取指令机制
单片机·嵌入式硬件
凌盛羽8 小时前
将Gowin高云FPGA仿真库导入Modelsim中并编译
单片机·fpga开发·仿真·modelsim·gowin
一枝小雨8 小时前
STM32启动流程全面解析:从上电复位到进入main函数
stm32·单片机·嵌入式·bootloader·启动流程·启动代码·中断向量