1、启用低功耗是嵌入式MCU节约能耗的一种有效方法,以下以GD32F470ZGT6的为例,说明如何开启低功耗运行模式
软件配置低功耗模式
void enter_low_power(){ pmu_flag_clear(PMU_FLAG_RESET_STANDBY); pmu_to_standbymode(); }
以上程序首先将电源复位的有关标志位清空,之后进入待机模式
完整代码
#include "main.h" #include <stdio.h> #include "gd32f4xx.h" #include "systick.h" #include "bsp_uart.h" void enter_low_power(){ pmu_flag_clear(PMU_FLAG_RESET_STANDBY); pmu_to_standbymode(); } int main(void) { systick_config(); bsp_uart_init(); printf("进入低功耗模式前\n"); //立即进入低功耗模式(待机模式) enter_low_power(); printf("进入低功耗模式后\n"); while(1) { delay_1ms(100); } }
2、运行效果
printf("进入低功耗模式后\n")出现在进入待机模式之后,因此不会得到运行
按下复位按键,系统可以重新运行,但程序有效运行处到达printf("进入低功耗模式前\n")就停止了。
值得注意的是,进入低功耗运行后烧录程序也无法正常进行,解决办法是烧录程序前长按复位按键,直到烧录程序开始那一刻松开复位按键即可