STM8L的RTC时钟卡顿问题
uint8_t g_bTimeTick = 0;void ChangeRTCTimeInter(uint8_t g_tRTCtime)//重设RTC时间
{
if(g_tRTCtime==1)
{
RTC_ITConfig(RTC_IT_WUT, DISABLE);
RTC_WakeUpCmd(DISABLE);
g_bTimeTick = (g_bTimeTick + 1) % 150;
RTC_SetWakeUpCounter(RTC_1S - g_bTimeTick * 3 - g_bRandomTime%100);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
RTC_WakeUpCmd(ENABLE);
}
else if(g_tRTCtime==2)
{
RTC_ITConfig(RTC_IT_WUT, DISABLE);
RTC_WakeUpCmd(DISABLE);
RTC_SetWakeUpCounter(RTC_100MS);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
RTC_WakeUpCmd(ENABLE);
}
}
上面程序段是我来回切换RTC时间的函数,可是从1s切换到100ms时会出现卡顿,卡顿的时间有长有短,我初步判断是RTC切换到100ms时不稳定,导致RTC起不来。请坛里的大牛指点指点!
顶贴。 代码发全一点,你这好多变量和宏都不知道具体是什么,还有RTC的初始化
页:
[1]