初中生
最后登录1970-1-1
在线时间 小时
注册时间2014-7-15
|
楼主 |
发表于 2014-7-17 00:12:07
|
显示全部楼层
如下面这个函数所示,我发现在按下按键1,即EXTI_line11,的时候,虽然EXTI_line11的标志位清除了,但是还是会运行EXTI_line12,而10到15的中断向量名就只有它,那怎么办呢?
void EXTI15_10_IRQHandler(void)
{
uint8_t count=0,value=0,value_a=0,value_b=0;
if(EXTI_GetITStatus(EXTI_Line11) != RESET) //确保是否产生了EXTI Line中断
{
for(count=0;count<3;count++)
{
LED_Sets(0xff);
Delay(10);
LED_Sets(0x00);
Delay(10);
}
EXTI_ClearITPendingBit(EXTI_Line11); //清除中断标志位
}
if(EXTI_GetITStatus(EXTI_Line12) != RESET) //确保是否产生了EXTI Line中断
{
value_a=0x01;value_b=0x80;
for(count=0;count<8;count++)
{
LED_Sets(value);
value_a<<=1;
value_b>>=1;
value=value_a|value_b;
Delay(10);
}
EXTI_ClearITPendingBit(EXTI_Line12); //清除中断标志位
}
}
|
|