外部中断里面加条件语句,一个中断完成为什么又跳回来了

2019-07-20 12:20发布


EXIT2不符合条件,执行EXIT3后符合条件,但是为什么当时就执行EXIT2了


void EXTI2_IRQHandler(void)//ÓÃÓÚÆô¶¯µÄÍⲿÖжÏÊäÈë
{
if(shut==0)
{
printf("´Æô¶¯ý:%d ´Î ",zzz);//Êä³öƵÂÊ
GPIO_ResetBits(GPIOB,GPIO_Pin_5); //½â³ýɲ³µ
GPIO_ResetBits(GPIOB,GPIO_Pin_8); //ʹÄÜEN
  GPIO_ResetBits(GPIOB,GPIO_Pin_1); //PB1ΪµÍµçƽ£¬¼ÌµçÆ÷ÎüºÏ£¬Â̵ÆÁÁ
dacval=0;
   while(dacval<4000)
{
  ti++;
  if(ti==10)  //&para;¨&Ecirc;±&Ecirc;±&frac14;&auml;&micro;&frac12;&Aacute;&Euml;
  {
   dacval+=200;
   DAC_SetChannel1Data(DAC_Align_12b_R, dacval);
   printf("dacval:%d &acute;&Icirc; ",dacval);//&Ecirc;&auml;&sup3;&ouml;dacval
   ti=0;
  }
  delay_ms(10);
}
EXTI_ClearITPendingBit(EXTI_Line2);
}
}


void EXTI3_IRQHandler(void)//&Oacute;&Atilde;&Oacute;&Uacute;&frac14;±&Iacute;&pound;&micro;&Auml;&Ouml;&ETH;&para;&Iuml;&Ecirc;&auml;&Egrave;&euml;
{

shut=1;
DAC_SetChannel1Data(DAC_Align_12b_R, 0);   //&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;SV&Ecirc;&auml;&Egrave;&euml;0V   
  GPIO_SetBits(GPIOB,GPIO_Pin_5);
printf("&acute;&yacute;:%d &acute;&Icirc; ",shut);//&sup2;&acirc;&Ecirc;&Ocirc;
GPIO_SetBits(GPIOB,GPIO_Pin_1); //PB1&Icirc;&ordf;&micro;&Iacute;&micro;&ccedil;&AElig;&frac12;&pound;&not;&frac14;&Igrave;&micro;&ccedil;&AElig;÷&para;&Iuml;&iquest;&ordf;&pound;&not;&Acirc;&Igrave;&micro;&AElig;&Atilde;&eth;
EXTI_ClearITPendingBit(EXTI_Line3);

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