关于STM32的几种输入模式以及外部中断的配置

本文探讨了STM32的四种输入模式,包括模拟输入、浮空输入、上拉输入和下拉输入,并重点分析了上拉输入在防止IO口不确定状态中的作用。同时,解释了STM32 IO口复位后的浮空状态,以及为何配置为浮空输入以降低功耗。在实践中,作者遇到了IO口电压异常的问题,通过排查发现是初始化函数被注释导致。此外,文章还提及了STM32的TTL和CMOS兼容性。

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

要求:将连接按键的IO口配置为上拉输入,按键一端接IO口,一端接地,即当按键按下后,该IO口会产生一个下降沿,触发下降沿中断。
问题:将相应的IO口配置好后,测了引脚的的电压,并不是3.3V左右,而是0.1V左右。于是猜想:

  1. 外围电路对IO口产生了影响。
  2. STM32内部上拉能力较弱,一次只能上拉一个IO口。
    于是开始从这两个想法着手解决。首先第一个,很容易就排除了。将外围电路撤掉,我用的是杜邦线,直接拔掉测量引脚上的电压,依然是0.1V左右,于是第1个猜想排除。
    第二个,查看万能的参考手册,发现每一个IO口都是有独立的驱动电路,这样第2个也排除了。
    最后各种纠结,然后发现:在主函数的开头部分初始化的时候,我把初始化的那个函数给注释掉了。低级错误,见笑了。
    现在总结一下:
    STM32的输入有4种输入模式:
    模拟输入 GPIO_AIN
    用于AD转换
    浮空输入 GPIO_IN_FLOAtiNG
    引脚处于浮空模式,电平状态是不确定的。外部信号输入什么,IO口就是什么状态。
    上拉输入 GPIO_IPU
    防止IO口出现不确定的状态,比如,当IO口悬空时,就会通过内部的上拉电阻将该点钳位在高电平。
    下拉输入 GPIO_IPD
    功能与上拉电阻类似,防止IO口出现不确定的状态,比如,当IO口悬空时,就会通过内部的下拉电阻将该点钳位在低电平。
    STM32中空的I/O管脚是高电平还是低电平取决于具体情况。

1、IO端口复位后处于浮空状态,也就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值