void rtca_init(void) { rtca_time.year = COMPILE_YEAR; rtca_time.mon = COMPILE_MON; rtca_time.day = COMPILE_DAY; rtca_time.dow = COMPILE_DOW; rtca_time.hour = COMPILE_HOUR; rtca_time.min = COMPILE_MIN; rtca_time.sec = 59; /* Enable calendar mode (date/time registers are automatically reset) and enable read ready interrupts and set time event interrupts at each minute also enable alarm interrupts */ RTCCTL01 |= RTCMODE | RTCRDYIE | RTCAIE | RTCTEVIE; rtca_set_time(); #ifdef CONFIG_RTC_DST /* initialize DST module */ rtc_dst_init(); #endif }
void rtca_init(void) { rtca_time.year = COMPILE_YEAR; rtca_time.mon = COMPILE_MON; rtca_time.day = COMPILE_DAY; rtca_time.dow = COMPILE_DOW; rtca_time.hour = COMPILE_HOUR; rtca_time.min = COMPILE_MIN; rtca_time.sec = 59; #ifdef CONFIG_RTC_IRQ /* Enable calendar mode (date/time registers are automatically reset) and enable read ready interrupts and set time event interrupts at each minute also enable alarm interrupts */ RTCCTL01 |= RTCMODE | RTCRDYIE | RTCAIE; RTCSEC = rtca_time.sec; RTCMIN = rtca_time.min; RTCHOUR = rtca_time.hour; RTCDAY = rtca_time.day; RTCDOW = rtca_time.dow; RTCMON = rtca_time.mon; RTCYEARL = rtca_time.year & 0xff; RTCYEARH = rtca_time.year >> 8; /* Enable the RTC */ rtca_start(); /* Enable minutes interrupts */ RTCCTL01 |= RTCTEVIE; #endif #ifdef CONFIG_RTC_DST /* initialize DST module */ rtc_dst_init(); #endif }