作者:革斤Hero_394 | 来源:互联网 | 2023-10-17 20:51
在系统启动2秒后,实时时钟(RTC)每3秒钟产生一个闹钟事件(Alarm event),使系统进入停机模式以降低功耗设置实时时钟。
有2种方式可以是系统退出此模式:
1.在外部中断线9上侦测到上升沿信号。
2.每3秒钟由实时时钟闹钟自动将系统唤醒。4个LED可以表征系统当前的状态:- LD1 on / LD4 off: 系统在运行模式(RUN mode)下- LD1 off / LD4 on: 系统在停机模式(STOP Mode)下- LD2 状态改变:系统通过外部中断线9退出停机模式(STOP Mode)- LD3状态改变:系统通过外部中断线17(实时时钟闹钟)退出停机模式(STOP Mode)PWR Example 2本例展示了如何使STM32进入待机模式(Standby Mode),以及如何通过外部重置、实时时钟闹钟(RTC Alarm)或者WKUP管脚来唤醒STM32。在例程中,设置在外部中断线9上(管脚PB.09)检测到下降沿时产生中断。以及Systick每隔250ms产生一个中断,在这个中断中,改变连接在PC.06管脚上LED的状态,以次来提示系统工作在运行模式(RUN mode)。一旦在外部中断线9上(管脚PB.09)检测到下降沿,系统将开启实时时钟闹钟(RTC Alarm),每三秒钟产生一个闹钟事件(Alarm event)。然后系统进入待机模式(Standby Mode)。在3秒内,在WKUP管脚上的上升沿或者外部复位都可以把系统从待机模式中唤醒,如果3秒内他们没有发生,那么由实时时钟闹钟自动唤醒系统。系统被唤醒以后,程序执行的顺序与重置后一样,PC.06上的LED开始闪耀,PC.07上的LED被点亮。实时时钟(RTC)设置被保留,因此无须对其再进行设置。如果对于系统运行没有影响,可以忽略不计。