Edit: Esta es la pregunta equivocada. El stm325105 sólo tiene un pin de activación. Pero otras ST-partes tiene más de un pin de activación, por lo que la respuesta es válida para aquellos.
Tengo un stm32f105 que tiene dos momentáneo botones conectados a la activación de las entradas. El procesador se pone en MODO de ESPERA. Cuando se pulsan los botones, o el temporizador RTC incendios, la cpu se despierta.
El problema es que quiero que el cpu a hacer cosas diferentes dependiendo de la activación de la entrada se activa. Según 5.3.5 de SAN stm32f105xx manual de referencia, sin necesidad de registros son conservados, excepto para un registro de estado que indica que hemos sido despertado (pero no se por que) y 42 de la copia de seguridad de los registros.
El modo de Espera permite lograr el menor consumo de energía. Se basa en la Cortex ® -M3 modo deepsleep, con el regulador de voltaje de la movilidad. El 1.8 V de dominio es por consiguiente apagado. El PLL, el HSI oscilador y el HSE oscilador también apagado. SRAM y registro de contenidos se perdió, excepto para los registros en el dominio de Copia de seguridad y en Espera de circuitos.
Después de despertarse desde el modo de Espera, la ejecución del programa se reinicia de la misma manera que después de un Reset (arranque pines de muestreo, el vector de reset es una exageración, etc.). El SBF indicador de estado en el Poder control/registro de estado (PWR_CSR) indica que el CIRCUITO estaba en modo de Espera.
Este SAN post del foro, Cómo determinar el origen de la Activación del modo de Espera?, sugiere que el yo no puede detectar la activación desencadena en el software. No encontré otros puestos, de ahí que le dio más iluminación.
¿Cómo puedo usar el software o hardware para determinar, después de despertarse, que wakeup entrada fue provocado?