嵌入式学习笔记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软件的引脚分配图中点击对应引脚,在弹出的菜单中将列出该引脚的全部复用功能。


相关推荐
纳祥科技21 小时前
Switch快充方案,内置GaN,集成了多个独立芯片
单片机
单片机日志1 天前
【单片机毕业设计】【mcugc-mcu826】基于单片机的智能风扇系统设计
stm32·单片机·嵌入式硬件·毕业设计·智能家居·课程设计·电子信息
松涛和鸣1 天前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
小曹要微笑1 天前
STM32F7 时钟树简讲(快速入门)
c语言·stm32·单片机·嵌入式硬件·算法
XINVRY-FPGA1 天前
XCVP1802-2MSILSVC4072 AMD Xilinx Versal Premium Adaptive SoC FPGA
人工智能·嵌入式硬件·fpga开发·数据挖掘·云计算·硬件工程·fpga
沐欣工作室_lvyiyi1 天前
家用按摩椅控制系统设计(论文+源码)
单片机·物联网·毕业设计·按摩椅控制系统
天天爱吃肉82181 天前
电机控制技术深度解析:从基础原理到前沿实战
python·嵌入式硬件·汽车
学习路上_write1 天前
FREERTOS_互斥量_创建和使用
c语言·开发语言·c++·stm32·单片机·嵌入式硬件
czhaii1 天前
单片机RTOS“实时响应时间”的定义与测量方法
单片机