器件型号:DK-TM4C129X
您好!
我尝试使用休眠模块创建 RTC 计时器、在该模块中、我可以点击 HH:MM:SS:ss 格式的时间信息
我参考了示例代码并编写了一个简短的程序来检查功能。
我看到秒计数器始终返回零、而亚秒计数器按预期计数。 在"寄存器视图"中 、HIBRTCC 卡在0x0。 这样做的原因可能是什么?
/**** 源代码********* /
//
//从 PLL 以120MHz 运行。
//
luint32_SYSCLK = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
SYSCTL_OSC_MAIN | SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480)、120000000);
//启用休眠模块。
//
SysCtlPeripheralEnable (SYSCTL_Periph_HIBERNATE);
while (!SysCtlPeripheralReady (SYSCTL_Periph_HIBERNATE))
{
}
/*
*检查休眠是否已激活
*
while (HibernateIsActivate())
{
luint32_seconds = HibernateRTCGet ();
luint32_subseconds = HibernateRTCSSGet ();
}
//
//配置休眠模块时钟。
//
HibernateEnableExpClk (luint32_SYSCLK);
//
//配置时钟源
//
HibernateClockConfig (HIBERNATE_OSC_LOWDRIVE);
//
//启用 RTC 模式。
//
HibernateRTCEnable();
//
//将休眠模块计数器配置为24小时日历模式。
//
休眠计数器模式(HIBERNATE_COUNTER_24HR);//HIBERNATE_COUNTER_24HR);
//HibernateRTCSet (0);
while (1)
{
luint32_seconds = HibernateRTCGet ();
luint32_subseconds = HibernateRTCSSGet ();
}