STM32 GPIO

GPIO简介

GPIO(General Purpose Input Output)通用输入输出口

可配置为8种输入输出模式

引脚电平:0V~3.3V,部分引脚可容忍5V

输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时许等。

输入模式下可读取端口的高低电平或者电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接受数据等。

系统结构

寄存器:是一段特殊的存储器,内核可以通过APB2总线对寄存器进行读写,这样就可以完成输出电平和读取电平的功能了

GPIO位结构

保护二极管VDD 3.3v:当输入电压比3.3V高的时候,上方的二极管就会导通,输入电压产生的电流就会直接流入VDD而不会流入内部电路,避免过高的电压对电路造成伤害。

VSS 0V:如果输入电压比0V还要低,下方二极管VSS导通,电流从VSS流出去,不会从内部电路吸取电流,起到保护电路的作用

电流在0V~3.3V之间二极管不会导通。

上拉:默认高电平输入方式

下拉:默认低电平输入方式

浮空:跟随外界电平变化

这里应该是施密特触发器(翻译错误):作用是对输入电压进行整形的,如果输入电压大于某一阈值时,输出就会瞬间升为高电平,如果输入电压小于某一阈值时,输出就会瞬间降为低电平。

高于上限才为高电平,低于下限为低电平。

输出控制:控制开关的导通和关闭,开关负责将IO口接到VDD或者VSS

推挽输出模式下:

P-MOS和N-MOS均有效

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

数据寄存器为0时,上管断开,下管导通,输出直接接到VSS,就是输出低电平。

这种模式下,高低电平均有较强的驱动能力,所以推挽输出模式,也可以叫强推输出模式。

在推挽输出模式下,STM32对IO口具有绝对的控制权,高低电平都由STM32说的算。

开漏输出模式下:

P-MOS无效,只有N-MOS在工作

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

数据寄存器为0时,下管导通,输出直接接到VSS,也就是输出低电平。

这种模式下,只有低电平有驱动能力,高电平是没有驱动能力的

开漏模式可以作为通信协议的驱动模式,比如I2C通信的引脚,就是使用的开漏模式。在多机通信的情况下,这个模式可以避免各个设备的相互干扰。

开漏模式还可以用于输出5V的电平信号,比如在IO口外接一个上拉电阻到5V电源,输出低电平时,由内部N-MOS直接接VSS,当输出高电平时,由外部的上拉电阻拉高至5V,这样就可以输出5V的电平信号,用于兼备一些5V电平的设备。

关闭:

当引脚配置为输入模式时,P-MOS和N-MOS关闭,也就是输出关闭,端口的电平由外部信号来控制。

GPIO的8种工作模式

外部外设介绍

LED:发光二极管,正向通电点亮,反向通电不亮。

有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发生,频率固定。

无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音。

相关推荐
日记成书1 小时前
详细介绍STM32(32位单片机)外设应用
stm32·学习
¥ 多多¥1 小时前
单片机总结【GPIO/TIM/IIC/SPI/UART】
单片机·嵌入式硬件
1101 11011 小时前
STM32-智能台灯项目
stm32·单片机·嵌入式硬件
苏慕TRYACE1 小时前
RT-Thread+STM32L475VET6——icm20608传感器
stm32·单片机·嵌入式硬件·rt_thread
CHANG_THE_WORLD1 小时前
Windows获取字体文件
windows·stm32·单片机
橘猫0.o2 小时前
【STM32】内存管理
stm32·单片机·嵌入式硬件
楼台的春风4 小时前
【STM32 基于PID的闭环电机控制系统】
c语言·stm32·单片机·嵌入式硬件·mcu·物联网·算法
stm32发烧友4 小时前
基于STM32的智能电力监测与需求响应系统
stm32·单片机·嵌入式硬件
Turnin111115 小时前
stm32四种方式精密控制步进电机
单片机·嵌入式硬件·电机控制
promising-w5 小时前
【蓝桥杯单片机】第十三届省赛第二场
单片机·蓝桥杯