进入外部中断后读取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都是成立的,这是为什么啊,应该低脉冲出发的

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。