大家好、
我正在处理 MSP430 RTC。 我希望每0.125秒生成一次 RTC 中断。
我已附上我的代码供您参考 告诉我代码是否正确。
谢谢
#include "common.h" void RTC(void) { RTCCTL0_H = RTCKEY_H; // Unlock RTC RTCCTL1 = RTCBCD | RTCHOLD | RTCMODE; // RTC enable, BCD mode, RTC hold RTCPS1CTL = RT1IP_3 | RT1PSIE; RTCCTL1 &= ~(RTCHOLD); // Start RTC } #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=RTC_VECTOR __interrupt void RTC_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(RTC_VECTOR))) RTC_ISR (void) #else #error Compiler not supported! #endif { switch(__even_in_range(RTCIV, RTCIV_RT1PSIFG)) { case RTCIV_NONE: break; // No interrupts case RTCIV_RTCOFIFG: break; // RTCOFIFG case RTCIV_RTCRDYIFG: break; // RTCRDYIFG case RTCIV_RTCTEVIFG: // RTCEVIFG break; case RTCIV_RTCAIFG: break; // RTCAIFG case RTCIV_RT0PSIFG: break; // RT0PSIFG case RTCIV_RT1PSIFG: count++; //increment count at every 0.125 second break; // RTCRDYIFG default: break; } }