比如说外部中断2的服务函数,很简单:
void EXTI2_IRQHandler(void)
{
delay_ms(10); //消抖
if(KEY2==0)
{ LED0=!LED0;
}
EXTI_ClearITPendingBit(EXTI_Line2);//清除LINE2上的中断标志位
}
0~4的服务函数都很简单,他们都是独立的,直接往里写就行。但是到了5以上就变成公用函数,我就不太明白怎么用了。
大大们能不能举个例子,比如我想用外部中断5,这时候:
void EXTI9_5_IRQHandler(void)
{ }
这时候里面怎么写?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
if((EXTI->R & 0x20)==0x20) //说明中断线5发生了中断
{
//中断内容
}
EXTI->R|=1<<5;//清除中断挂起
也就是说,F4探索者的开发板上,独立按键分别是PA^0、PE^2/3/4,所以他们就只能对应中断0、2、3、4,没法对应其他的,对吧?也没法做中断1,以及中断5~15的实验?
我这么理解没错吧?
当然了,我还是很好奇0~15的服务函数,里面怎么写…………
如果5-9 你本来就只打开了中断5你就直接操作不用管了
如果你开了5 6 你就自己去调用函数检查是5 触发还是6触发
---------------------------------
这么说太模糊了呀大神~~
比如我现在用的就是PA^5做中断,
void EXTI9_5_IRQHandler(void)
{ }
里面怎么写呢?菜鸟真心求教~~~
一周热门 更多>