请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GH6PM 大家好、
我正在使用我自己的 TM4C123GH6PM 定制板 、我正在尝试实现 MCU 的 RTC。
我正在使用32.768 KHz 晶振、并通过 VBAT 和纽扣电池之间的 RC 电路(51 Ω 和0.1 μ F)将3V 纽扣电池连接到 Vbat 引脚。
以下代码是为 RTC 编写的
time_t calender_write; time_t calender_read; struct TM TM1 ={0、15、16、2、3、2018-1900、1、0}; struct TM tm2 ={0}; int main () { SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTLTL_80MHz;SysClockSet (SYSCTLTL_SYSC/ SYSC/ SYSCL)= 0、0、0、0、0、000 / SYSC/ SYSC/ SYSC/ SYSC/ SYSC/ SYSCL = 0、0、 0、000MHz / SYSC/ SYSC/ SYSC/ SYSC SysCtlPeripheralEnable (SYSCTL_Periph_HIBERNATE); //等待休眠模块准备就绪。 while (!SysCtlPeripheralReady (SYSCTL_Periph_HIBERNATE)) { } HibernateEnableExpClk (ui32SysClkFreq); // 等待模块上电一段时间。 // //配置休眠模块的时钟源并启用 // RTC 功能。 HibernateClockConfig (HIBERNATE_OSC_HIGRIVE); HibernateRTCEnable (); HibernateCounterMode (HIBERNATE_COUNTER_RTC); CORE_WRITE = umktime (&TM1);HibernateRTCSet (CORELEY_WRITE); while (1) { calender_read = HibernateRTCGet (); ulocaltime (calender_read、&tm2); //设置 UART strfttime ((char *) buf_Rz、32、"%c\r\n"、&tm2)的输出格式; }
问题是、重启后我无法恢复小时:分钟:秒值。 当我对电路板进行下电上电时、RTC 复位。