F407芯片 板子是自己打样的
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);//A0口 对应KEY3
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE, EXTI_PinSource0);//E0口 对应KEY2
中断函数
void EXTI0_IRQHandler(void)
{
delay_ms(10); //延时
if(KEY2==0)
{
LED0=!LED0;
}
if(KEY3==0)
{
LED0=!LED0; //
LED1=!LED1;
}
delay_ms(10); //延时
EXTI_ClearITPendingBit(EXTI_Line0); //清除中断标志
}
当中断线配置 ,先写A0(KEY3)下载后按KEY3有反应 但是执行的是中断函数内 KEY2内的代码。
当中断线配置 ,先写E0(KEY2)下载后按KEY2有反应 但是执行的是中断函数内 KEY3内的代码。
我知道原理说, 一次中短线只能对应一个IO口 所以中短线配置应该是后者响应程序。 但是为什么响应了之后执行的却是另一个按键对应的代码?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>