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.

CCS/TM4C123GH6PGE: Hibernation RTC issue

Part Number: TM4C123GH6PGE


Tool/software: Code Composer Studio

Hi All,

My platform is TM4C123GH6PGE

CCS version 6.2,

I am doing Solar Tracker project based on Real Time clock,

I am facing problem in RTC , My Clock is working but it,s time(Seconds)  increment compare to Ideal Real time clock is much faster and I am using RTC Crystal value 32.768 KHz.

My RTC code is ......

//
// Hibernate handler
//
//*****************************************************************************
void HibernateHandler(void)
{
// reset interrupt flag

uint32_t ui32Status = HibernateIntStatus(1);

HibernateIntClear(ui32Status);
//asd++;
calendar_read = HibernateRTCGet();

ulocaltime(calendar_read, &tm2);
//zxc=tm1.tm_hour;
// format the output for uart


strftime((char *)buf_rz, 60, "%c\r\n", &tm2);
strftime(rtc_lcd_h, 4, "%H", &tm2);
strftime(rtc_lcd_m, 4, "%M", &tm2);
strftime(rtc_lcd_s, 4, "%S", &tm2);
HibernateRTCMatchSet(0,calendar_read+1);
// HibernateRTCMatchSet(0,HibernateRTCGet()+5);
// UARTSend((uint8_t *)buf_rz, 60);
//calendar_read=mktime(&tm1);


ADCIntClear(ADC0_BASE, 0);
ADCProcessorTrigger(ADC0_BASE, 0);

}

main()

{

//set system clock to 50 MHz
MAP_SysCtlClockSet(SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);

 SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE);

 IntMasterEnable();

IntPrioritySet( INT_HIBERNATE_TM4C123, 0x40);


//***********************************Hibernate****************************************************************************


HibernateEnableExpClk(SysCtlClockGet());
HibernateRTCTrimSet(0x7FFF);
HibernateRTCEnable();
SysCtlDelay(SysCtlClockGet() / 12);
HibernateClockConfig(HIBERNATE_OSC_HIGHDRIVE);
HibernateIntRegister(HibernateHandler);
HibernateIntEnable(HIBERNATE_INT_RTC_MATCH_0);
HibernateWakeSet(HIBERNATE_WAKE_RTC);
HibernateRTCMatchSet(0,HibernateRTCGet()+4);
// HibernateRTCMatchSet(0,5);
HibernateCounterMode(HIBERNATE_COUNTER_24HR);
HibernateCalendarSet(&tm1);
//
//*************************************************************************************************
//
/*

calendar_write = umktime(&tm1);
if (calendar_write == (uint32_t)(-1)){
// UARTSend((uint8_t *)buf_er, sizeof(buf_er));
while(1);
}
else {
HibernateRTCSet(calendar_write);
//Set an interrupt for the RTC after one second.
HibernateRTCMatchSet(0,HibernateRTCGet()+5);
}

*/
//
//**************************************************************************************************
//

}

How to fix this issue? Plz give the response  as soon as possible!!!!!!!!

Thanking you!