问题是这样的 PB11 PA15都需要设置为上升沿下降沿触发 但是他们都是在同一个中断服务函数里处理的。这两个IO那个一个触发一个另一个也会在中断服务函数里被处理 
void EXTI15_10_IRQHandler(void)
{
if(SHUTTER == 0){
EXTI->IMR &= ~(1<<15);
if(SaveStepNumber == 0){
MOTOREV(64,2);
}
TIM_Cmd(TIM2,ENABLE);
EXTI->IMR |= 1<<15;
}else if(SHUTTER == 1){
EXTI->IMR &= ~(1<<15);
if(SaveStepNumber == 64){
MOTOFWD(64,2);
}
EXTI->IMR |= 1<<15;
}
if(REMOTE == 0){
EXTI->IMR&=~(1<<11); //关闭line0上的中断
TIM_Cmd(TIM4,DISABLE); //关闭定时4
backint = Int;
backpc = PC;
Int = 1;
  C = 1;
if(SaveStepNumber == 0){
MOTOREV(64,2);
}
EXTI->IMR|=1<<11; //开line0上的中断
}
if(REMOTE == 1){
EXTI->IMR&=~(1<<11); //关闭line0上的中断
if(SaveStepNumber == 64){
MOTOFWD(64,2);
}
Int = backint;
  C = backpc;
TIM_Cmd(TIM4,ENABLE); //打开定时器
EXTI->IMR|=1<<11; //开line0上的中断
}
EXTI_ClearITPendingBit(EXTI_Line15);
EXTI_ClearITPendingBit(EXTI_Line11);
}
这是用来测试的代码 怎么找到对应的中断而另个不被影响呢? |