单片机型号:STM32L053R8T6
本例程测试STOP_RTC模式的真实功耗,主程序如下:
int main(void)
{
while(1)
{
HAL_Delay(5000);
Target.HAL.Rtc.EnterStopRtcMode();
Target.HAL.SystemClock.SetMode(2);
}
}
系统进入主循环后,先进行5秒延时,然后进入低功耗模式,低功耗模式设置的RTC时间为4秒,4秒过后退出低功耗模式,重新进行时钟设置。
在进入main函数之前,执行了3个操作:时钟设置、低功耗设置和RTC设置,如下面程序:
class CHAL
{
public:
CSystemClock SystemClock;
CSystemLowPower SystemLowPower;
CRtc Rtc;
};
时钟设置相关程序如下:
void CClock::SetMode(uint8_t mode)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef R