外部中断受到干扰自动进中断

2019-07-21 00:45发布

[mw_shl_code=c,true]配置PC1为外部中断1,输入上拉,下降沿触发,KEY1为PC1的状态。[/mw_shl_code] [mw_shl_code=c,true]中断函数如下。[/mw_shl_code] [mw_shl_code=c,true]void EXTI1_IRQHandler(void) { delay_ms(10); a++; if(KEY1==0)// { b++; } EXTI_ClearITPendingBit(EXTI_Line1); }[/mw_shl_code] 当用金属物体触碰PC1管脚的时候,a自动增加,b不增加。这是受到外部干扰造成的吗,为什么a自动增加而b不增加呢。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
lvehe
1楼-- · 2019-07-21 03:12
说明干扰的时长不超过10ms,你延时了自然检测不到KEY1为低电平了。
止天
2楼-- · 2019-07-21 03:24
就和防抖没防抖是一个道理吧
向日葵
3楼-- · 2019-07-21 08:38
 精彩回答 2  元偷偷看……
CMOS
4楼-- · 2019-07-21 10:40
回复【4楼】向日葵:
---------------------------------
你这个代码是,只要产生了中断,a就一定会自增1,你这个delay_ms(10)完全跟a没关系,只有KEY1做了消抖处理,所以b没有出现自增1的情况
向日葵
5楼-- · 2019-07-21 10:56
 精彩回答 2  元偷偷看……
toi666
6楼-- · 2019-07-21 11:50
 精彩回答 2  元偷偷看……

一周热门 更多>