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.

[参考译文] MSP430F5132:MSP430 TIMER0配置

Guru**** 2386620 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/739224/msp430f5132-msp430-timer0-config

器件型号: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  

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Naveen、

    您是否在停止代码中的看门狗计时器(WDT)之前配置 DCO? 如果您测量的是2ms 而不是48ms、那么您的 DCO 似乎在24MHz 附近运行、而不是默认频率大约1MHz。

    此致、

    James
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 James:

    感谢您的响应、我将在源代码中停止 WDT 后配置 DCO。 无论如何、我将再次检查 DCO 配置。


    此致

    Naveen Reddy