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都是成立的,这是为什么啊,应该低脉冲出发的
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我之前试过用else,还是一样的,而且我读的是20ms的低脉冲,应该不会是高电平啊
用else一样?什么意思?if和else都进去了??
一周热门 更多>