STM32低功耗模式--STOP模式

平台:stm32f103rct6

固件库:STM32F10x_StdPeriph_Lib_V3.5.0


一、STOP模式的唤醒

官方文件中特别提到要配置EXTI寄存器,要配置EXTI寄存器,要配置EXTI寄存器,比如USART,配好USART中断还得配相应RX引脚的EXTI中断,否则无法唤醒STOP模式!

STM32低功耗模式--STOP模式_第1张图片


二、进入STOP的必要操作

①  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

打开PWR时钟、BKP电源

②EXTI_Configuration();

设置RTC的EXTI引脚作为唤醒源

③RTC_Configuration();

设置RTC

④NVIC_Configuration();

注册中断向量嵌套表

⑤SysTick->CTRL &= (~SysTick_CTRL_ENABLE_Msk); 

如果有systick,会每隔一段时间唤醒,故要将其关闭

⑥    PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

调用库函数进入STOP模式


三、唤醒STOP后的操作

①SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;

恢复systick

②SYSCLKConfig_STOP();

恢复时钟源(HSE->PLL->SYSCLOCK)

你可能感兴趣的:(STM32低功耗模式--STOP模式)