////外部中断2服务程序
void EXTI2_IRQHandler(void)
{
//添加自己的应用
EXTI->R=1<<2; //清除LINE2上的中断标志位
}
////外部中断3服务程序
void EXTI3_IRQHandler(void)
{
//添加自己的应用
EXTI->R=1<<3; //清除LINE3上的中断标志位
}
////外部中断3服务程序
void EXTI4_IRQHandler(void)
{
//添加自己的应用
EXTI->R=1<<4; //清除LINE4上的中断标志位
}
//外部中断初始化程序
//初始化PE2,PE3,PE4为中断输入.
void EXTIX_Init(void)
{
RCC->APB2ENR|=1<<6; //使能PORTE时钟
JTAG_Set(JTAG_SWD_DISABLE);//关闭JTAG和SWD
GPIOE->CRL&=0XFF0000FF;//PE2,3,4,5设置成输入
GPIOE->CRL|=0X00888800;
GPIOE->ODR|=(1<<2)|(1<<3)|(1<<4)|(1<<5); //PE2,3,4,5上拉,
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,1,EXTI2_IRQChannel,2); //抢占2,子优先级1,组2
MY_NVIC_Init(2,2,EXTI3_IRQChannel,2);//抢占2,子优先级2,组2
MY_NVIC_Init(2,3,EXTI4_IRQChannel,2);//抢占2,子优先级3,组2
}
试试 不行改改 |