主题中讨论的其他器件:TM4C123
工具/软件:Code Composer Studio
大家好、
我的平台是 TM4C123GH6PGE
CCS 版本6.2、
我正在基于 实时时钟执行太阳能跟踪器项目、
我在 RTC 中遇到问题,我的时钟在工作,但与 理想的实时时钟相比,时间(秒)增量要快得多,我使用的是 RTC 晶体值32.768KHz。
我的 RTC 代码是......
//
//休眠处理程序
//
//
无效休眠处理程序(无效)
{
//复位中断标志
uint32_t ui32Status = HibernateIntStatus (1);
HibernateIntClear (ui32状态);
//ASD++;
calender_read = HibernateRTCGet ();
ulocaltime (calender_read、&tm2);
//zxc=TM1.TM_Hour;
//格式化 UART 的输出
strfttime (((char *) buf_Rz、60、"%c\r\n"、&tm2);
strftTime (RTC_LCD_h、4、"%H"、&tm2);
strfttime (rtc_lcd_m、4、"%M"、&tm2);
strftTime (RTC_LCD_s、4、"%S"、&tm2);
HibernateRTCMatchSet (0、calender_read+1);
// HibernateRTCMatchSet (0、HibernateRTCGet ()+5);
// UARTSend (((uint8_t *) buf_Rz、60);
//calender_read=mktime (&TM1);
ADCIntClear (ADC0_BASE、0);
ADCProcessorTrigger (ADC0_BASE、0);
}
MAIN ()
{
//将系统时钟设置为50MHz
MAP_SysCtlClockSet (SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable (SYSCTL_Periph_HIBERNATE);
IntMasterEnable();
IntPrioritySet (INT_HIBERY_TM4C123、0x40);
//********* 休眠模式
HibernateEnableExpClk (SysCtlClockGet ());
HibernateRTCTrimSet (0x7FFF);
HibernateRTCEnable();
SysCtlDelay (SysCtlClockGet ()/12);
HibernateClockConfig (HIBERNATE_OSC_HIGRHIVE);
HibernateIntRegister (HibernateHandler);
HibernateIntEnable (HIBERNATE_INT_RTC_MATH_0);
HibernateWakeSet (HIBERNATE_WAKE_RTC);
HibernateRTCMatchSet (0、HibernateRTCGet ()+4);
// HibernateRTCMatchSet (0.5);
休眠计数器模式(HIBERNATE_COUNTER_24HR);
HibernateCalendarSet (&TM1);
//
//
//
/*
calender_write = umktime (&TM1);
if (calender_write ==(uint32_t)(-1))){
// UARTSend (((uint8_t *) buf_er、sizeof (buf_er));
while (1);
}
否则{
HibernateRTCSet (calender_write);
//在一秒后为 RTC 设置中断。
HibernateRTCMatchSet (0、HibernateRTCGet ()+5);
}
*
//
//
//
}
如何解决此 问题? plz 尽快回复!!!!!!!!
谢谢您!