请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5132 您好,
我不熟悉 MSP430处理器和 TI CCS 我正在研发直流/直流转换器、为了实现电压控制算法、我需要使用 MSP430的 TIMER0实现10毫秒计时器中断延迟。
我正在尝试使用下面的示例、我在示例代码中找到了该示例。
WDTCTL = WDTPW + WDTHOLD;//停止 WDT P1DIR |= BIT0;// P1.0输出 TA0CCTL0 = CCIE;// CCR0中断使能 TA0CCR0 = 50000; TA0CTL = tassel_2 + MC_1 + TACLR;// SMCLK、upmode = 50000;_ PM0_bis = 0 ;//清除寄存器_ PM0 (_bis) //对于调试器 // Timer0 A0中断服务例程 #pragma vector=TIMER0_A0_vector __interrupt void TIMER0_A0_ISR (void) { P1OUT ^= BIT0;//切换 P1.0 }
上面的计时器示例 配置为大约48毫秒的中断、但当我尝试运行相同的代码时、我观察到计时器中断速率仅为2毫秒、而不是48毫秒。
上述代码的源时钟为 SMCLK (DCO = 1.045MhZ)。 我认为我需要调整 DCO ( 数控振荡器)频率。 请根据建议如何初始化 timer0和 SMCLK
实现10毫秒延迟。
谢谢、此致
Naveen Reddy