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.

MSP430F6436 RTC不进中断

初始化程序:

void Init_RTC(void)
{
// Configure RTC_B
RTCCTL01 |= RTCRDYIE + RTCBCD + RTCHOLD; // BCD mode, RTC hold, enable RTC
// event interrupt
RTCYEAR = 0x2015; // Year = 0x2015
RTCMON = 0x04; // Month = 0x10 = October
RTCDAY = 0x09; // Day = 0x09 = 9th
RTCDOW = 0x04; // Day of week = 0x05 = Friday
RTCHOUR = 0x10; // Hour = 0x10
RTCMIN = 0x45; // Minute = 0x45
RTCSEC = 0x45; // Seconds = 0x45

RTCCTL01 |= RTCTEV__0000;//RTCTEV__MIN; // Set RTCTEV for 1 minute alarm and 00:00 every day
RTCCTL01 &= ~(RTCHOLD); // Start RTC calendar mode
RTCCTL01 &=~(RTCRDYIFG + RTCTEVIFG);
// Turn off Clock for LPM4.5 operation
// UCSCTL6 |= XT1OFF; // XT1 Off
}

中断程序:

#pragma vector=RTC_VECTOR
__interrupt void RTC_ISR (void)
{
switch(__even_in_range(RTCIV,14))
{
case 0: break; // Vector 0: No interrupt
case 2: // Vector 2: RTCRDYIFG
// P1OUT ^= BIT0; // Toggle LED every second
Timer.second = RTCSEC; // Read all associated time registers
Timer.minute = RTCMIN;
Timer.hour = RTCHOUR;
Timer.week = RTCDOW;
Timer.date = RTCDAY;
Timer.month = RTCMON;
Timer.year = RTCYEAR;
break;
case 4:
Timer.second = RTCSEC; // Read all associated time registers
Timer.minute = RTCMIN;
Timer.hour = RTCHOUR;
Timer.week = RTCDOW;
Timer.date = RTCDAY;
Timer.month = RTCMON;
Timer.year = RTCYEAR;
break; // Vector 4: RTCEVIFG
case 6:
Timer.minute = RTCMIN;
Timer.hour = RTCHOUR;
Timer.week = RTCDOW;
Timer.date = RTCDAY;
Timer.month = RTCMON;
Timer.year = RTCYEAR;
break; // Vector 6: RTCAIFG
case 8: break; // Vector 8: RT0PSIFG
case 10: break; // Vector 10: RT1PSIFG
case 12: break; // Vector 12: RTCOFIFG
case 14: break; // Vector 14: Reserved
default: break;
}
}

不知道哪里有问题,怎么都不进中断,在线调试看到中断标记置位了,但就是中断没反应,求指教!谢谢!