//中断函数;
void EXTI4_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line4)!= RESET){
EXTI_ClearITPendingBit(EXTI_Line4);
if(Ledflag == 0){
Ledflag = 1;
GPIOC->ODR |= 0X00000080;
}
else{
Ledflag = 0;
GPIOC->ODR &= 0XFFFFFF7F;
}
}
}
菜鸟初学,恳求高数帮助~
另外还有个问题,如果需要在两个不同的引脚上引入不同的两个外部中断,这两个中断的处理函数是不是就应该分别在两个子函数中写出?
void EXTI4_IRQHandler(void)//外部中断4
{
if(EXTI_GetITStatus(EXTI_Line4)!= RESET){//发生了中断
EXTI_ClearITPendingBit(EXTI_Line4);//清除中断标志位
if(Ledflag == 0){
Ledflag = 1;//LED标志取反
GPIOC->ODR |= 0X00000080;//GPIOC7输出高电平
}
else{
Ledflag = 0; //LED标志取反
GPIOC->ODR &= 0XFFFFFF7F;//GPIOC7输出低电平
}
}
}
两个中断的处理函数不一定分别在两个子函数中写。如果两个中断没共用一个中断号,就是分开写,如果共用了中断号,就只写一个。
{
if(EXTI_GetITStatus(EXTI_Line4)!= RESET){//发生了中断
EXTI_ClearITPendingBit(EXTI_Line4);//清除中断标志位
if(Ledflag == 0){
Ledflag = 1;//LED标志取反
GPIOC->ODR |= 0X00000080;//GPIOC7输出高电平
}
else{
Ledflag = 0; //LED标志取反
GPIOC->ODR &= 0XFFFFFF7F;//GPIOC7输出低电平
}
}
}
两个中断的处理函数不一定分别在两个子函数中写。如果两个中断没共用一个中断号,就是分开写,如果共用了中断号,就只写一个。
温馨提示:答案为网友推荐,仅供参考