进入外部中断后读取PB9发现一次进入这个外部中断两次if语句都会执行,调试发现两个if都是成立的,这是为什么啊

2019-08-29 08:38发布

void EXTI9_5_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line9) != RESET)
        {
          EXTI_ClearITPendingBit(EXTI_Line9);
                if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==RESET)
                {
                  coinnumber++;
                        Voice_Out(1, 18);
                }
                if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)!=RESET)
                {
                  coinnumber--;
                        Voice_Out(1, 17);
                }
        }         
}

进入外部中断后读取PB9发现一次进入这个外部中断两次if语句都会执行,调试发现两个if都是成立的,这是为什么啊,应该低脉冲出发的

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
yijinxiaoyou
1楼-- · 2019-08-30 07:29
没消抖?
正点原子
2楼-- · 2019-08-30 12:12
 精彩回答 2  元偷偷看……
zyx
3楼-- · 2019-08-30 16:39
gsndragon 发表于 2017-3-24 14:58
用else一样?什么意思?if和else都进去了??

是的,就觉得奇怪了

一周热门 更多>