GPIO的几种模式——以STM32为例

GPIO 八种状态 ,一般是指 STM32F1系列(如STM32F103)GPIO配置寄存器中的8种工作模式

一、GPIO模式及其分类

1、输出

**(1)浮空输入。**可读取引脚电平,若引脚悬空,则电平不确定。

**(2)上拉输入。**可读取引脚电平,内部连接上拉电阻,悬空时默认高电平。

**(3)下拉输入。**可读取引脚电平,内部连接下拉电阻,悬空时默认低电平。

**(4)模拟输入。**GPIO无效,引脚直接接入内部ADC。

2、输入

**(1)开漏输出。**可输出引脚电平,高电平为高阻态,低电平接VSS。

**(2)推挽输出。**可输出引脚电平,高电平接VDD,低电平接VSS。

**(3)复用开漏输出。**由片上外设控制,高电平为高阻态,低电平接VSS。

**(4)复用推挽输出。**由片上外设控制,高电平接VDD,低电平接VSS。

二、GPIO结构以及模式详解

先看GPIO内部框图:

1、输入模式

(1)浮空输入(Floating Input)

既不上拉,也不下拉。高阻态,完全由外部决定电平。主要应用:UART RX,外部数字信号输入。缺点:悬空时,电平不确定,随机跳变。

内部结构

(2)上拉输入(Pull-Up)

引脚默认高电平,外部接地变低电平。主要应用:按键输入,I2C。

内部结构

(3)下拉输入(Pull-Down)

引脚默认低电平,外部拉高变高电平。主要应用:状态检测。

内部结构

(4)模拟输入(Analog)

内部关闭施密特触发器和数字输入缓冲器,直接进入ADC。主要应用:ADC采样、电压检测、电流采样。

内部结构

2、输出模式

(5)推挽输出(Push-Pull)

既能输出高,也能输出低。主要应用:LED、继电器、普通数字输出。

内部结构

(6)开漏输出(Open Drain)

输出0导通,输出1,引脚悬空。主要应用:I2C、多机通讯。

内部结构

(7)复用推挽输出(AF Push-Pull)

GPIO控制权交给外设。如:TIM/SPI/USART。通过TIM输出PWM信号是最经典的应用.

(8)复用开漏输出(AF Open Drain)

GPIO控制权交给外设。主要是:I2C的SDA和SCL。

三、8种模式总结表

四、电机控制中的实际应用

相关推荐
M78佐菲6 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
无敌贵点大王9 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
崇山峻岭之间12 小时前
HC32F460PETB的PB2的Vout123
单片机
恶魔泡泡糖12 小时前
stm32F103C8T6标准库串口接收之中断方式2
stm32·单片机·嵌入式硬件
充哥单片机设计12 小时前
【STM32开源项目】智能小区充电桩
stm32·单片机·嵌入式硬件·毕业设计·小区充电桩·智能小区充电桩
嵌入式-老费13 小时前
esp32开发与应用(如何解决SoC冷启动的问题)
单片机·嵌入式硬件
充哥单片机设计14 小时前
【STM32开源项目】智能语音台灯
stm32·单片机·嵌入式硬件·毕业设计·单片机设计·智能语音台灯
EatFan15 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网·esp32
sunoo-22915 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Brilliantwxx16 小时前
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)
stm32·单片机·嵌入式硬件