使用LowPower_Shutdown( NULL )进入 省电模式后,唤醒 后 时间被复位到2020年1月1日

CH579M 搭载 TMOS! 用LowPower_Shutdown( NULL )进入 省电模式后,按键唤醒后 RTC 也被复位到2020年1月1日! 看规格书,LowPower_Shutdown( NULL ) 唤醒后是不复位RTC的。不知道是在哪里被复位了?

void HAL_TimeInit( void )
{
#if( CLK_OSC32K )
  Calibration_LSI();
#else
  R8_SAFE_ACCESS_SIG = 0x57; 
  R8_SAFE_ACCESS_SIG = 0xa8;
  R8_CK32K_CONFIG    |= RB_CLK_OSC32K_XT | RB_CLK_INT32K_PON | RB_CLK_XT32K_PON;
  R8_SAFE_ACCESS_SIG = 0;
#endif
  //RTC_InitTime( 2021, 1, 1, 0, 0, 0 );    //RTC时钟初始化当前时间
  TMOS_TimerInit( 0 );
}

是否

TMOS_TimerInit( 0 );

有对时钟初始化? 因为这个函数是封装到lib,所以看不到!  注释掉这一句, TMOS也无法运行!

求答疑


ShutDown模式唤醒后,程序会复位重新运行,在你上面初始化的地方加上一个复位状态寄存器的判断,如果是ShutDown模式导致的复位,就不要对RTC_InitTime重新初始化。


已经注释掉了

//RTC_InitTime( 2021, 1, 1, 0, 0, 0 );    //RTC时钟初始化当前时间

时钟的初始化了,唤醒还是 会复位到2020年呢


只有登录才能回复,可以选择微信账号登录