//RTC WAKE UP中断服务函数
void RTC_WKUP_IRQHandler(void)
{
static u8 led1sta;
if(RTC->ISR&(1<<10))//WK_UP中断?
{
RTC->ISR&=~(1<<10); //清除中断标志
LED1(led1sta^=1);
}
EXTI->PR|=1<<22; //清除中断线22的中断标志
}
上面的代码中的对WK_UP中断的if判断是否多余,因为这个函数只有可能在实时时钟wakeup发生的情况下才可能有中断发生,感觉这个wake up判断有点画蛇添足。
版主 上面的if是多的吗?
并且正点原子很多中断服务函数中都有 if 判断,有的中断函数有多个触发条件,在函数中就需要对触发条件作出判断并进行相应的处理;如果中断函数只有一个触发条件,这种判断应该就没有必要。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我的判断错没错? 就是说waup中断 只有一个触发条件 再在里面判断if(RTC->ISR&(1<<10)) 这一点判断语句 有点多余吧 我的焦点不是 应不应该在中断中添加if判断语句
你可以试试不加,能用就行。
关键是很多时候,如果不加,运行就不正常。
一周热门 更多>