【stm32】GPIO

GPIO(通用输入输出口)

1 .可配置8种输入输出模式

浮空输入,上拉输入,下拉输入 的电路基本结构一样,都可以读取端口的高电平,区别为上拉电阻和下拉电阻的连接。引脚悬空时,上拉输入默认高电平,下拉输入默认低电平,浮空输入不确定,要在端口处接一个连续的驱动源,不能悬空。

在输入模式下,输出驱动器断开,只能输入不能输出

当输入为5V时,上面的保护二极管要进行处理,否则接VDD 3.3V时,外部接入5V电压会导致上面二极管开启并产生比较大的电流

模拟输入

只剩下引脚接入片上外设一条线,会关闭数字的输入功能

当使用ADC时,将引脚配置为模拟输入

开漏输出和推挽输出 ,电路结构基本一样,为数字输出端口,用于输出高低电平,区别为开漏输出的高电平为高阻态,没有驱动能力 ;推挽输出高低电平都有驱动能力

输出由输出数据寄存器控制,P-MOS无效,为开漏输出;P-MOS和N-MOS都有效,为推挽输出

在输出模式下,输入模式也有效(一个端口只能一个输出,但可以有多个输入)


复用开漏输出和复用推挽输出 ,与开漏输出和推挽输出相比,是复用的输出,引脚电平由片上外设控制

2 .引脚电平0~3.3V(数据0为低电平,0V;数据1为高电平 3.3V),部分可容忍5V(可输入5V电压,高电平,输出最大为3.3V)

具体可查看附件引脚定义,带FT即可容忍5V的
3 .输出模式下可控制端口输出高低电平,如驱动LED,控制蜂鸣器,模拟通信协议输出时序
4.输入模式下读取端口高低电平或电压,如读取案件输入,外界模块电平信号输入,ADC电压采集,模拟通信协议接收数据

GPIO基本结构

所有GPIO都挂载在APB2外设总线上

GPIO位结构

蜂鸣器

1.有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可发声,频率固定,如下图

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

三极管开关驱动方案:

对于功率较大的,直接而用IO口驱动会使stm32负担过重,这是可以用三极管驱动电路来驱动

上面图为PNP三极管的驱动电路,三极管左边为基极,带牵头为发射极,剩下为集电极,基极给低电平,三极管导通,通过3.3V和GND给蜂鸣器提供电流;基极给高电平,三极管截至,蜂鸣器无电流

下面图为NPN三极管驱动电路,驱动逻辑与上面相反,基极高电平导通,低电平断开

PNP三极管最好接在上面,NPN三极管最好接在下面,是因为,三极管的通断,是需要在发射极和基极直接产生一定的开启电压

LED

为stm32的GPIO口驱动LED电路

上面为低电平驱动电路,LED正极接3.3V,负极通过限流电阻接到PA0,PA0输出低电平时,LED两端产生电压差,,形成正向导通的电流;输出高电平时,不会形成电流,熄灭

限流电阻一方面防止LED因电流过大而烧毁,也可以调整LED亮度

下面为高电平驱动电路,同理相反

选择:依靠IO口高低电平的驱动能力,在推挽模式下,高低电平均有较强驱动能力,两种接法均可;但在单片机电路里,一般倾向第一种,因为很多单片机或芯片都使用高电平弱驱动,低电平强驱动的规则。

注;本文来源为江协b站课程,为笔记

相关推荐
碧海银沙音频科技研究院8 小时前
炬芯ATS3089X手表的HFP通话不自动路由到设备BT的问题解决
网络·人工智能·嵌入式硬件·算法
youcans_13 小时前
【STM32C5教程】(3)GPIO 按键输入实验
stm32·单片机·嵌入式硬件
俊基科技14 小时前
回音消不掉、底噪压不住、主板还对不上口?——A-59P 多功能语音处理模组技术解析
嵌入式硬件·回音消除·ai降噪模块
北京盛世宏博15 小时前
通信异常深度排查:以太网温湿度设备 TCP 粘包、UDP 丢包根治方案
单片机·网络协议·tcp/ip·udp·以太网·传感器·温湿度
蓝天居士15 小时前
PY32F系列MCU在串口接收时跑飞的根因分析(2)
单片机·嵌入式硬件
wuyk55518 小时前
嵌入式驱动开发:量产级工程化实战(第9篇)——低功耗下的通信可靠性
c语言·驱动开发·stm32·单片机·嵌入式硬件
创界工坊工作室19 小时前
24-基于单片机的仓鼠养殖环境监控系统设计
stm32·单片机·嵌入式硬件·proteus
碧海银沙音频科技研究院19 小时前
基于炬芯ATS录音卡BLE控制协议
人工智能·嵌入式硬件·算法·语音识别
comyccccc20 小时前
PCB走线设计秘籍:从载流到3D预览全解析学习笔记
单片机·嵌入式硬件
俊基科技20 小时前
A-59 工业级 AI 语音处理模组:100 dB 消回音 + 神经网络降噪的工程实践
嵌入式硬件·神经网络·硬件开发·语音模块·回音消除·拾音降噪