主题中讨论的其他器件:TM4C123
您好!
我正在使用此 TM4C123控制器、需要在 Vbat 上持续运行休眠 RTC 模块、以实现 RTC 时间。
我不知道如何在电源复位后为控制器上电时获得时间值、
我有用于板载3.3V 电池的连接。
请帮助回答以下问题:-
休眠 RTC 时钟的代码示例、其中时间寄存器仅在 Vbat 电源上保持更新。
现在、当我关闭控制器的电源时、RTC 计数停止、如何使它们在电池单元上运行。
无效休眠 ISRHandler (无效)
{
uint32_t ui32Status;
//获取中断状态并清除所有挂起的中断。
ui32Status = HibernateIntStatus (真);
HibernateIntClear (ui32状态);
//处理 RTC 匹配0中断。
if (ui32Status 和 HIBERNATE_INT_RTC_MATH_0)
{
//更新匹配值
uint32_t ui32RTCMatch;
ui32RTCMatch = HibernateRTCGet ();
// calender_read = HibernateRTCGet ();
ulocaltime (ui32RTCMatch、&tm2);
HibernateDataGet (\ui32 HibernateCount、1);
ui32 HibernateCount++;
if (ui32 HibernateCount>=50000)
{
ui32 HibernateCount=0;
}
HibernateDataSet (\ui32 HibernateCount、1);
HibernateRTCMatchSet (0、ui32RTCMatch + 1);//以后再运行一秒
Timer_t++;//###禁用
rtc_time_details.bit_field.second = tm2.tm_sec;
rtc_time_details.bit_field.minute = tm2.tm_min;
rtc_time_details.bit_field.hour = tm2.tm_hour;
rtc_time_details.bit_field.day = tm2.tm_mday;
rtc_time_details.bit_field.month = tm2.tm_mon;
rtc_time_details.bit_field.year = tm2.tm2_year;
}
}
使用上述代码、我无法恢复 RTC 时钟的值、
我不熟悉该控制器的 RTC 时钟、因此 在控制器主电源期间、RTC 时钟计数的一些工作示例关闭、仅连接 VBAT。
谢谢、