STM32 CubeMX按键中断

本文详细介绍了STM32的GPIO工作模式,包括输入模式(浮空输入、上拉输入、下拉输入、模拟输入)和输出模式(开漏输出、推挽输出、复用开漏输出、复用推挽输出)。讨论了施密特触发器的作用,并重点讲解了按键中断的配置,包括中断优先级、中断向量表、消抖处理以及中断服务函数的设定。STM32按键通常需要上拉电阻,按下时产生低电平,通过HAL库进行中断处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、GPIO 8种工作模式

输入模式:

1. GPIO_Mode_AIN 模拟输入

2. GPIO_Mode_IN_FLOATING 浮空输入

3. GPIO_Mode_IPD 下拉输入

4. GPIO_Mode_IPU 上拉输入

输出模式:

5. GPIO_Mode_Out_OD 开漏输出

6. GPIO_Mode_Out_PP 推挽输出

7. GPIO_Mode_AF_OD 复用开漏输出

8. GPIO_Mode_AF_PP 复用推挽输出

施密特触发器:当输入电压高于正向阈值电压,输出为高;当输入电压低于负向阈值电压,输出为低;当输入在正负向阈值电压之间,输出不改变,只有当输入电压发生足够的变化时,输出才会变化

GPIO_Mode_IN_FLOATING 浮空输入

外部通过IO口输入电平,传输到施密特触发器(此时施密特触发器为打开状态),直接进入输入数据寄存器,CPU通过读输入数据寄存器实现读取外部输入电平值,在输入浮空模式下可以读取外部输入电平。如果在该引脚悬空(在无信号输入)的情况下,读取该端口的电平是不确定的。

GPIO_Mode_IPU 上拉输入

上拉电阻的开关闭合,上拉电阻连接到VDD,在I/O端口悬空(在无信号输入)的情况下,外部输入通过上拉电阻,施密特触发器存入输入数据寄存器,被CPU读取出高电平,当I/O端口输入为低电平的时候,施密特触发器触发存入输入数据寄存器,CPU读取出低电平;

GPIO_Mode_IPD 下拉输入

 

下拉电阻的开关闭合,在I/O端口悬空(在无信号输入)的情况下,下拉电阻连接到VSS,外部输入通过下拉电阻,施密特触发器存入输入数据寄存器,被CPU读取出低电平,当I/O端口输入为高电平的时候,下拉电阻处的电压为高电平,施密特触发器触发存入数据寄存器,CPU读取出高电平

GPIO_Mode_AIN 模拟输入</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值