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:发光二极管,正向通电点亮,反向通电不亮。

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

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

相关推荐
芜湖_4 小时前
CLion入门2.0(优雅进行STM32和ESP32开发)(船新版本)
stm32·esp32·开发环境·clion
爱学电子的刻刻帝5 小时前
LVGL+FreeRTOS实战项目:智能健康助手(蓝牙模块篇)
单片机·嵌入式硬件
【ql君】qlexcel7 小时前
STM32的ADC工作模式
stm32·同步·adc·工作模式·规则组·注入组·交叉
jiuri_12158 小时前
单片机内存管理剖析
单片机·嵌入式硬件
shdbdndj8 小时前
STM32单片机:GPIO模式
stm32·单片机·嵌入式硬件
2401_843785239 小时前
STM32简介
stm32·单片机·嵌入式硬件
【 STM32开发 】9 小时前
STM32_SD卡的SDIO通信_基础读写
stm32·cubemx·sd卡·tf卡·sdio
tadus_zeng13 小时前
stm8s单片机(二)外部中断实验
单片机·嵌入式硬件
大专生学编程13 小时前
基于ESP32-IDF驱动GPIO输出控制LED
嵌入式硬件·esp32·esp-idf