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.

[参考译文] MSP430FR2155:MSP430 fr2155

Guru**** 2512055 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1120968/msp430fr2155-msp430-fr2155

器件型号:MSP430FR2155

你(们)好

我正在处理计时器 TB0 CCR0例程

我在这里有一个问题、看看 TI 专家是否能给我一些指示。

我简化了应用程序、以便计时器运行240个时钟周期并重新启动。

我发现、在开始时、计时器每210个时钟周期启动一次。 我希望时钟周期为240。

120脚踢后、对停止和启动计时器进行编程。

计时器在重启后每420个时钟周期启动一次。

不确定我错过了什么

我在此附上一个简单的代码。

谢谢

unsigned int count;
unsigned int delta[120];
unsigned int pre_rtc;

void RTCInit()
{
    HWREG16(RTC_BASE + OFS_RTCCTL) &= ~(RTCSS_3 | RTCPS_7);
    HWREG16(RTC_BASE + OFS_RTCMOD) = 32767;
    RTC_start(RTC_BASE,  RTCSS_1);
}

void InitTimer()
{
    HWREG16(TIMER_B0_BASE + OFS_TBxCTL) = TBSSEL__SMCLK;
    HWREG16(TIMER_B0_BASE + OFS_TBxCCR0) = 239;
    HWREG16(TIMER_B0_BASE + OFS_TBxCCTL0) |= CCIE

    HWREG16(TIMER_B0_BASE + OFS_TBxCTL) |=  MC; 
}


#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = TIMER0_B0_VECTOR
__interrupt void TIMER0_B0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_B0_VECTOR))) TIMER0_B0_ISR (void)
#else
#error Compiler not supported!
#endif
{
    
    delta[count] = RTCCNT - pre_rtc;
    pre_rtc = RTCCNT;
    count++;

    if (count>=120)
    {
           HWREG16(TIMER_B0_BASE + OFS_TBxCTL) &=  ~MC; 
           // process data

           
            
           HWREG16(TIMER_B0_BASE + OFS_TBxCTL) |=  MC;    


    } 
}

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

    >HWREG16 (timer_B0_BASE + OFS_TBxCTL)|= MC;

    符号"MC"与"MC_3"相同、后者请求向上/向下计数模式。 在此模式下、周期为2*CCR0、但第一个中断(EQU0)位于1*CCR0 [参考用户指南(SLAU445I)第14.2.3.4]节。 我怀疑您需要向上计数模式:

    >HWREG16 (timer_B0_BASE + OFS_TBxCTL)|= MC_1;  //以向上计数模式启动计时器

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

    您好、Bruce、

    再次感谢您的帮助

    最恰当的考虑