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.

[参考译文] 创建一小时的延迟

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1356848/creation-of-a-delay-of-one-hour

器件型号:MSP430FR2155

您好、TI 专家!

我正在使用 MSP430FR2155、我希望每隔一小时进行一些计算并更新这些值。 我想创建一个计时器中断、可用于执行这些计算。 或者、是否有任何函数可以产生一个小时的延迟?

此外、我想知道使用计时器中断和相关的必要设置可以实现的最大延迟是多少。

我该如何处理?

感谢任何帮助。  

提前感谢!

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

    这取决于您的时钟。 但您可以通过使用较短的延迟来获得几乎任何的延迟、只需等待其中的 N 个小时即可。 例如、如果延迟为1秒、则在每个中断中会递增一个计数器。 一旦到达3600,您将执行操作,并将计数器设回0。

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

    您好!

    Keith 讲得很好。  要延迟一小时、您可能需要更频繁地唤醒并实施计数器。  为此、我可能建议使用 RTC。  您可以轻松地将 RTC 计时器配置为每秒或每分钟唤醒一次、然后将其计数到更长的时间段。   

    祝你好运!

    JD

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

    嗨、Keith

    感谢您的建议。 我不熟悉中断的概念。 您建议的逻辑是否有示例代码?

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

    您好、JD、

    此外、我对 RTC 也非常陌生、所以您提到的函数是否有任何示例代码或我可以参考的任何线程?  

    我昨天才知道了 RTC、在 TI 的 Resource Explorer 中搜索了相同的示例。 但我没有找到任何。

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

    Resource Explorer 中有大量示例。 下面有一个(msp430fr235X_lpm4_5_02.c)使用 RTC 每秒生成一个中断(需要32K 的晶体):

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //******************************************************************************
    // MSP430FR235x Demo - LPM3.5, device enter LPM3.5 and toggles P1.0 with
    // RTC interrupt handling every 1s
    //
    //
    // Description: Device enter LPM3.5 after configuring the RTC. The RTC wakes
    // the device up from LPM3.5 every second and toggles P1.0.
    // It also stores the state of P0OUT in the Backup RAM Registers.
    //
    // ACLK = XT1 = 32kHz, MCLK = SMCLK = default DCODIV = ~1MHz.
    //
    // MSP430FR2355
    // -----------------
    // /|\| |
    // | | |
    // | | XIN(P2.7)|--
    // --|RST | ~32768Hz
    // | XOUT(P2.6)|--
    // | |
    // | P1.0|-->LED
    //
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    太好了!

    谢谢 Keith。 将使用该代码进行一次检查