PMU — 深度停止 + WFI
固件库: CIU32F003_STDLib V1.0.3
芯片: CIU32
源文件: CIU32/CIU32F003_STDLib_V1.0.3/Projects/PMU/PMU_Deepstop_WFI/Source/main.c
功能简介
本示例演示 PMU 的基本用法。
完整代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#include "main.h"
int main(void)
{
/* ϵͳʱ */
system_clock_config();
/* Systickʼ */
std_delay_init();
/* ðΪDeepstopԴ */
button_gpio_init();
/* NVICʼ */
nvic_init();
/* ȴ3Sû */
std_delayms(3000);
/* Deepstopģʽ */
std_pmu_enter_stop(PMU_MODE_DEEPSTOP, PMU_ENTRY_LOWPOWER_MODE_WFI);
/* Ѻָϵͳʱ */
system_clock_config();
led_gpio_init();
/* LED */
std_gpio_reset_pin(LED_GPIO_PORT, LED_PIN);
while(1)
{
}
}
|
代码讲解
系统时钟初始化:配置 MCU 的主频和时钟树。不同芯片的时钟配置不同,一般由工具生成。
GPIO 配置:设置引脚为输出/输入模式,选择推挽/开漏输出,配置上拉/下拉。
中断优先级配置:NVIC 设置中断的抢占优先级和子优先级。数字越小优先级越高。