Mike_zz 发表于 2024-7-4 14:03:39

外部中断使能后是会立即执行一次中断服务函数吗

现在有一个使用场景,我需要使用按键外部中断触发来做一个拉低电平的操作,我把动作放在外部中断服务函数中,在实测中,我在NVIC_Timer2_Init(DISABLE,Priority_0)使能完外部中断,这个外部中断服务函数的内容就执行了一次

而不是等我触发下降沿才执行

_奶咖君_ 发表于 2024-7-4 14:12:34

呀,,一般写程序的时候都是先清了标志位再开中断,,没有出现误触发的现象,,,外部中断触发的这个引脚如果是悬空的可能也会误触发。
你是下降沿的话 有上拉电阻么?
还有一件事什么使能外部中断要用定时器2中断配置呢?

电子DIY小家 发表于 2024-7-4 14:14:43

先判断一下当前引脚状态是不是高电平,再检查下引脚为什么模式(高阻输入还是什么模式?高阻输入记得加上啦),其次使能中断前先清空中断标志位试一下

Mike_zz 发表于 2024-7-4 14:17:00

_奶咖君_ 发表于 2024-7-4 14:12
呀,,一般写程序的时候都是先清了标志位再开中断,,没有出现误触发的现象,,,外部中断触发的这个引脚如 ...

我是矩阵按键电路,有接上拉电阻,刚刚发帖太快没注意看是NVIC_INT2_Init(ENABLE,NULL);是外部中断初始化

Mike_zz 发表于 2024-7-4 14:20:20

电子DIY小家 发表于 2024-7-4 14:14
先判断一下当前引脚状态是不是高电平,再检查下引脚为什么模式(高阻输入还是什么模式?高阻输入记得加上啦 ...

目前为高阻模式,我用的STC的库函数开发,进终端服务函数中断标志位自动清了

Mike_zz 发表于 2024-7-4 14:22:46

Mike_zz 发表于 2024-7-4 14:20
目前为高阻模式,我用的STC的库函数开发,进终端服务函数中断标志位自动清了 ...

因为电路的要求,我在进入掉电模式前设置的是低电平,按键按下后导通产生下降沿

晓飛飛 发表于 2024-7-4 16:06:30

如果是矩阵键盘还关联外部中断的话,中断引脚需要上拉,而且在初始化外部中断后全程不要拉低,直到总中断打开
页: [1]
查看完整版本: 外部中断使能后是会立即执行一次中断服务函数吗