Код
#define SCB_SysCtrl ((uint32_t)0xE000ED10)
#define SysCtrl_SLEEPDEEP_Set ((uint32_t)0x00000004)
RCC->APB1ENR |= (1UL<<28);
PWR->CR |= (1UL<<0);
PWR->CR &=~(1UL<<1);
*(__IO uint32_t *) SCB_SysCtrl |= SysCtrl_SLEEPDEEP_Set;
__wfi();
#define SysCtrl_SLEEPDEEP_Set ((uint32_t)0x00000004)
RCC->APB1ENR |= (1UL<<28);
PWR->CR |= (1UL<<0);
PWR->CR &=~(1UL<<1);
*(__IO uint32_t *) SCB_SysCtrl |= SysCtrl_SLEEPDEEP_Set;
__wfi();
При пробуждении кнопкой на EXTI line контроллер просыпается, но тактовая частота оказывается не 72 МГц а 8 МГц, что совсем не приемлемо. Есть ли возможность чтоб программа стартовала сначала или как еще можно поправить эту ситуацию? Далее не нашел в описании SCB_SysCtrl ((uint32_t)0xE000ED10). Это где можно увидеть описание этого регистра? А из Standby программа стартует сначала, как после ресета? Спасибо.