У меня есть MCU STM32L053C8T6 на специальной плате. Моя цель - один раз разбудить доску. На настроенной плате есть ЖК-дисплей, и я могу видеть с его помощью состояние платы.
Я могу войти в режим остановки, вызвав следующие строки.
HAL_SuspendTick();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
MCU останавливается успешно. (Может и нет. ЖК-дисплей выключается, и отладка P C останавливается ..) Я жду некоторое время, чтобы MCU проснулся, но он не просыпается.
У меня также есть кнопки на борту. Их контакты конфигурируются программным обеспечением как внешние источники прерываний. Когда я нажимаю любую из них и создаю прерывание, чтобы разбудить MCU до того, как таймер пробуждения сработает , он просыпается успешно. Однако, если я нажимаю кнопки по истечении времени пробуждения , MCU не просыпается. После любого прерывания я вызываю следующий фрагмент кода.
SystemClock_Config();
HAL_ResumeTick();
Как вы думаете, в чем проблема? Если вам нужно, могу предоставить более подробную информацию.
Привет из Турции ..