This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1294 RTC疑问

void Rtc_Init(uint32_t SysClk)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE); //使能RTC模块
HibernateEnableExpClk(SysClk);
HibernateClockConfig(HIBERNATE_OSC_HIGHDRIVE);// 时钟选择32.768KHz
HibernateRTCTrimSet(0x7FFF);
HibernateGPIORetentionEnable();
HibernateWakeSet(HIBERNATE_WAKE_PIN);
SysCtlDelay(6400); //necessary, without this rtc won't work. don't really know why
HibernateRTCEnable();
},

上面初始化是抄的。有个问题就是HibernateClockConfig函数当配置HIBERNATE_OSC_DISABLE,也就是使用外部32.768Khz时钟时,导致系统直接停掉,求教怎么解决?

  • 没仔细对比你的代码,可以直接copy这个RTC的例程,TM4C129x下RTC的例程
    C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\dk-tm4c129x\tamper

  • 我参考了下,那个程序里面HibernateClockConfig(HIBERNATE_OSC_HIGHDRIVE);这句话没用到。我主要想知道的是参数HIBERNATE_OSC_DISABLE配置为什么会导致系统停止,上面的配置也是可以实现RTC的