第四个实验寄存器版本
void EXTIX_Init(void)
{
KEY_Init();
Ex_NVIC_Config(GPIO_A,0,RTIR); //上升沿触发
Ex_NVIC_Config(GPIO_E,2,FTIR); //下降沿触发
Ex_NVIC_Config(GPIO_E,3,FTIR); //下降沿触发
Ex_NVIC_Config(GPIO_E,4,FTIR); //下降沿触发
MY_NVIC_Init(2,3,EXTI0_IRQChannel,2); //抢占2,子优先级3,组2
MY_NVIC_Init(2,2,EXTI2_IRQChannel,2); //抢占2,子优先级2,组2
MY_NVIC_Init(2,1,EXTI3_IRQChannel,2); //抢占2,子优先级1,组2
MY_NVIC_Init(2,0,EXTI4_IRQChannel,2); //抢占2,子优先级0,组2
}
已经配置好了GPIO的中断 也写好了中断函数
void EXTI0_IRQHandler(void)
{
delay_ms(10);//消抖
if(KEY3==1) //WK_UP按键
{
BEEP=!BEEP;
}
EXTI-> R=1<<0; //清除LINE0上的中断标志位
}
为什么这个外部中断0就一定和按键3的那个IO关联呢 |