外部中断上下拉设置

现象

一个接近开关输出高电平,接近时输出低电平。接到io引脚PB10上,触发外部中断。当PB10引脚模式设置为GPIO_NOPULL时,虽然在PB10上可以正常工作,但是接到PB2甚至其他引脚,也可以和PB10一样触发中断。即引脚之间相互影响。

问题分析

一般来说,需要区分这个GPIO口用于输入还是输出。

如果是output,那个一般选择GPIO_NOPULL,这样,引脚才能根据你的output数据,进行正确输出。

如果是input,那么需要看具体应用的默认输入值是0还是1. 如果默认是输入0,则最好配置为GPIO_PULLDOWN,反之则配置为GPIO_PULLUP.
这样做,主要是为了外部电路在没有上下拉的情况下,出现不确定情况。有许多硬件工程师设计电路时,会在GPIO口的外部设计上下拉电阻,这和内部配置GPIO_PULLUP/GPIO_PULLDOWN是一个目的,且效果相同。

PULLUP&PULLDOWN针对输入模式,比如我们一个单片机的I / O脚接一个按键的左端,按键的右端接正电源,那么我们就要设置I /
O脚为下拉模式,因为这样才能使得按键按下去的时候,能把I /
O脚拉高,不然设置上拉模式的话,即按键的功能等于摆设。同理,如果按键另一端接地,我们就要设置为上拉模式了。

NOPULL针对于输出模式,输出高电平低电平信号d等

解决办法

默认高电平,所以设置为GPIO_PULLUP,解决问题。

参考博客

1、GPIO口的pull up和pull down,no pull的意义以及怎么配置
2、NOPULL,PULLUP,PULLDOWN三种模式的理解

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值