CH582M RTC跨天无法唤醒的问题

CH582M RTC 在23:58:00 设置5分钟后触发唤醒,但是无法唤醒,在其他时间点正常唤醒,R32_RTC_CNT_32K寄存器计满一整天会不会自动清零?如果会,SDK中如下代码是否能实现跨天唤醒?如果无法实现,应该怎么修改?望告知,谢谢。

void RTC_TRIGFunCfg( UINT32 cyc )
{
    UINT32 t;

    t = RTC_GetCycle32k() + cyc;

    R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1;
    R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2;
    SAFEOPERATE;
    R32_RTC_TRIG = t;
    R8_RTC_MODE_CTRL |= RB_RTC_TRIG_EN;
    R8_SAFE_ACCESS_SIG = 0;
}


RTC最大计数是0xA8C00000,换算下来正好是24h,他计数到最大值就会自动从0开始

这个地方需要加个溢出判断


void RTC_TRIGFunCfg( UINT32 cyc )
{
    UINT32 t;
 

    t = RTC_GetCycle32k() + cyc;


             if(t> 0xA8C00000)
            {
                t-= 0xA8C00000;
            }


    R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1;
    R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2;
    SAFEOPERATE;
    R32_RTC_TRIG = t;
    R8_RTC_MODE_CTRL |= RB_RTC_TRIG_EN;
    R8_SAFE_ACCESS_SIG = 0;
}



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