您好!
我正在尝试在 RTC 中存储 epoch 时间、我的代码流是。
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_HIBERNATE);
while (!ROM_SysCtlPeripheralReady (SYSCTL_Periph_HIBERNATE)){
}
ROM_HibernateEnableExpClk ((ROM_SysCtlClockGet ()));
msleep (100);//休眠100ms。
ROM_HibernateClockConfig (HIBERNATE_OSC_DISABLE);//禁用以使用32K 的外部时钟源
msleep (100);//睡眠100ms
ROM_HibernateRTCEnable();
if (!ROM_HibernateIsActive()){
ROM_HibernateRTCSet (0);
}
//连接到 NTP 服务器后,我更新 RTC 时间。
ROM_HibernateRTCSet (epechTime);
当我打印一段时间后、我的 RTC 数据将重新显示时间、然后继续...
问题是、如果我重新启动器件 "ROM_HibernateEnableExpClk ((ROM_SysCtlClockGet ()));" 在等待写入控制寄存器置位时挂起。
问题。
等待写入器控制寄存器的原因是什么。
ROM_HibernateClockConfig (HIBERNATE_OSC_DISABLE);它是通过连接 到 xosc 引脚的32K 外部时钟启用和拉取 RTC 的正确方法
RTC 计数速度更快的原因是什么。