cancel
Showing results for 
Search instead for 
Did you mean: 

EXTI_RTSR for ExtiLine_17 sometimes loose its configuration

bruzzim
Associate II
Posted on January 21, 2011 at 15:46

EXTI_RTSR for ExtiLine_17 sometimes loose its configuration

1 REPLY 1
bruzzim
Associate II
Posted on May 17, 2011 at 14:22

I found a very strange behaviour that lead to the EXTI problem:

I had the following routine

void EXTI15_10_IRQHandler(void)

{

        EXTI_InitTypeDef EXTI_InitStructure;

  if(EXTI_GetITStatus(EXTI_Line11) != RESET)

    {

      EXTI_InitStructure.EXTI_Line = EXTI_Line11;

      EXTI_InitStructure.EXTI_LineCmd = DISABLE;

      EXTI_Init(&EXTI_InitStructure);

      /* Clear the EXTI Line 11 */       

      EXTI_ClearITPendingBit(EXTI_Line11);     

     }

 

}

with this code, sometimes the interrupts on LINE11 disabled also line 17 (alarm). If I change it to

void EXTI15_10_IRQHandler(void)

{

        EXTI_InitTypeDef EXTI_InitStructure;

  if(EXTI_GetITStatus(EXTI_Line11) != RESET)

    {

      // dispositivo sveglio, disabilito su rx di gsm

      EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

      EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;

      EXTI_InitStructure.EXTI_Line = EXTI_Line11;

      EXTI_InitStructure.EXTI_LineCmd = DISABLE;

      EXTI_Init(&EXTI_InitStructure);

      /* Clear the EXTI Line 11 */       

      EXTI_ClearITPendingBit(EXTI_Line11);     

     }

 

}

then the problem disappears! Is that a reason for it?