STM32 La interrupción externa a través de GPIO no se puede activar después de despertarse del modo STOP

0

Tengo un problema con un proyecto basado en un STM32L051. Quiero usar el modo de parada y despertarme con una IRQ externa (basada en GPIO). Todo esto funciona bien, pero después de que MCU se despertó una vez, no parece que funcionen las IRQ. Tengo un controlador de IRQ muy simple que solo genera información de depuración por ahora. Naturalmente, hago una inicialización de hal nuevamente después de despertarme. También funciona cuando utilizo el modo de espera en lugar del modo de parada . Intenté habilitar el IRQ relacionado a través de HAL_NVIC_EnableIRQ(EXTI0_1_IRQn); explícitamente pero no ayudó. ¿Alguna idea de lo que podría faltar?

    
pregunta vanthome

1 respuesta

1

Para mí, un simple HAL_NVIC_SystemReset(); hizo el truco.

Actualizar:

También descubrí que esto es suficiente y no requiere un reinicio:

  HAL_NVIC_SetPriority(IRQn, 1, 1);
  HAL_NVIC_EnableIRQ(IRQn);
    
respondido por el vanthome

Lea otras preguntas en las etiquetas