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**** 2049780 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个时钟周期启动一次。

不确定我错过了什么

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

谢谢

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    >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、

    再次感谢您的帮助

    最恰当的考虑