STM32 Standby
低功耗模式示例
1.
基本流程
1)
初始化
RTC
2)
配置外部中断(不是必需的)
3)
设置
Alarm
时间
4)
进入
Standby
2.
几个需要注意的问题
1)
从
Standby
退出后,代码将重新运行,相当于执行了软复位。其实也容易理解,因
为进入
Standby
后,内核的所有功能都已经停止(断电)
,
RAM
内的所有数据将消
除,因此,从
Standby
退出后,需要重新执行所有程序。
2)
如果有必要,可在进入
Standby
之前将重要数据存入
BACKUP
RAM
或
RTC
的
19
个
备份寄存器中,退出
Standby
时再将数据读出。
3)
进入
Standby
后,如果
Alarm
事件发生,虽然可以退出
Standby
模式,但即使配置
了外部中断,发系统也无法响应外部中断,因为,从
Standby
退出后发生了系统复
位。
4)
虽然,导致系统从
Standby
退出的
Alarm
事件不能用于触发外部中断(注:仅仅是
导致系统从
Standby
退出的那个特定事件不能触发外部中断,而系统正常运行后,
Alarm
事件还是可以正常触发外部中断的)
,但即使不需要
Alarm
触发外部中断的
功能,也必须配置使能
Alarm
中断,否则系统将无法从
Standby
退出。
5)
使能
Alarm
中断之前,最好先清除中断标志位,否则在循环进入或推出
Standby
的
操作就会失败(原因有待研究)
。
3.
示例代码
3.1.
初始化
RTC