外部中断关于的EXTI->PR问题,求助

2019-07-21 04:38发布

void EXTI0_IRQHandler(void)
{
delay_ms(10); //消抖
if(WK_UP==1) //WK_UP按键 
{
LED0=!LED0;
LED1=!LED1;
}  
EXTI->R=1<<0;  //清除LINE0上的中断标志位  
}
上面就是外部中断函数的一段代码,我把EXTI->R=1<<0去掉了,实验就不太灵了,我想知道为什么非要清除,不清除就不能再次进入中断了吗,说具体点?
还有第二个问题,关于
PR的定义:挂起寄存器。当外部中断线上发生了选择的边沿事件,该寄存器的对应位会被置为1。0,表示对应线上没有发生触发请求。通过向该寄存器的对应位写入1可以清除该位。在中断服务函数里面经常会要向该寄存器的对应位写 1来清除中断请求。
从PR定义不是应该把PR致0才是清除标志位的吗

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。