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.

[参考译文] RF430FRL152HEVM:将定时器间隔延长至5-10分钟。

Guru**** 2473260 points


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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/972818/rf430frl152hevm-extending-timer-interval-to-5-10-minutes

器件型号:RF430FRL152HEVM

大家好、

我正在尝试将器件置于低功耗模式、然后通过计时器将其唤醒以测量温度。 所以5分钟内无->测量-> 5分钟内无

这是我的计时器初始化和时钟初始化:

TA0CTL &=~TAIFG;
TA0CTL = tassel_2 + MC_3 + ID_3;
TA0CCTL0 = CCIE + CM_2;
TA0EX0 = TAIDEX_7;
TA0CCR0 = 65500;


//初始化时钟
CCSCTL0 = CCSKEY;
CCSCTL1 = 0;
CCSCTL4 = SELA_1 + SELM_1 + SELS_0;
CCSCTL5 = DIVA__1 + DIVM_1 + DIVS__32;
CCSCTL6 = XTOFF;
CCSCTL8 = ACLKREQEN + MCLKREQEN + SMCLKREQEN;
CCSCTL0_H |= 0xFF; //锁定 C 

因此、我的计时器时钟是 SMCLK (我之所以选择它是因为精度)、它将 DIVS__32除以32。 此外、我选择向上和向下计数模式以使间隔加倍。 然后、我用 ID_3以及 TAIDEX_7将其除以8。 最后、我将周期设置为65500、因为它仅为16位。 使用此配置、我的间隔为1m 6s 左右。 是否有任何其他方法可以延长间隔时间?

提前感谢

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

    您好、Hauke、

    只要计数器发生溢出、就可以生成中断。 在中断服务例程(ISR)中、您可以在 每次溢出发生时对变量进行计数。

    当达到所需的计数数量时、您可以离开低功耗模式并 开始测量。 否则、完成 ISR 后、处理器将保持 LPM 模式。 这意味着只要您没有明确地将 LMP 留在 ISR 末尾、处理器将只保留 LPM 模式几微秒来处理溢出并返回到 LPM 模式。

    有关其他信息、请参阅此培训:

    https://training.ti.com/msp430-workshop-series-7-12-low-power-optimization

    我知道 自己重复了、但每5分钟进行一次温度测量、可以通过在 ROM 固件中配置构建而无需编写任何代码来实现。 只需配置固件寄存器即可。

    此致、

    Helfried