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.

[参考译文] MSP430FR2355:如何计算计时器的频率

Guru**** 2543380 points
Other Parts Discussed in Thread: MSP430FR2355

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/829348/msp430fr2355-how-to-calculate-frequency-of-timers

器件型号:MSP430FR2355

您好!  

我正在尝试获取有关如何计算 MSP430FR2355上不同计时器的频率的一些方向。  

以下是我要查找的情况。  

  • RTC
    • 我知道这是使用32kh 或~32768的 XT1CLK
    • RTCMOD 将采样代码中的中断定时器设置为32-1、该值应为1Hz/1sec
    • 那么,如果我想要10秒,它是否像10*(32-1)一样简单?
  • Timer_B0
    • 在示例代码中、它使用的 ACLK 也是32kh 或~32768
    • 计时器 B0似乎有两种我感兴趣的模式
      • 连续模式
        • 计数到8、10、12或16位最大值
        • 我可以使用分频器来更改频率
        • 根据 CNTL 的示例代码16位值、为我提供0.5Hz 的频率、每2秒一次。  
        • 那么、我如何计算1秒或10秒呢?
      • 上行模式
        • 似乎是最直接的。 只需计数到在 CCR0中为计时器设置的值即可
        • 示例代码使用50000时有一个 SMCLK 示例、它是~1MHz、但它没有为我提供计时器参考的频率
        • 那么、我如何计算1秒或10秒、或者我可以吗? CCR0似乎是一个16位寄存 器、因此最大值为65535、并且仍然比我想要的快得多。  

任何见解都很有帮助。  

Michael  

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

    >所以如果我想要10秒,它是否像10*(32-1)一样简单?

    实际(10*32)-1. 这假设您已设置 RTCPS=7 (/1024)[参考用户指南(SLAU445I)表15-2。]

    > 连续模式

    65536计数/32768计数/秒= 2秒。 连续模式具有固定的上限、因此您无法获得1秒的时间。 通过设置 TB0EX0=(5-1)[/5]:65536计数/(32768/5)计数/秒= 10秒、您可以得到10秒。

    > 上行模式

    正如您所说、最大 CCR0计数为(65535 + 1)、65536计数/1000000计数/秒= 0.065536秒、或大约65.5ms。 通过设置 Id=3 [/8]和 TB0EX0=(8-1)[另一个/8]、您可以得到多达65536个计数/(1000000/8/8)个计数/秒=~4.2秒。 (要获取65536计数、请设置 CCR0=65536-1。)

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

    Bruce、您好!  

    好的、这就是我要找的。

    不过,我希望能作出一些澄清。 我正在处理连续模式、似乎我能够得到1秒  

    TB0CTL = TBSSEL_1 | CNTL_1 | MC_2 | ID_3 | TBCLR | TBIE; 

    我将定时器 B0控制设置为 ACLK (32kHz)、FFF 的计数器长度(4096)、连续模式和分频器/8。

    这取决于我得到的数学运算

    计数/(晶振/分频器)
    
    4096 /(32768 / 8)
    
    4096 / 4096 = 1秒 

    我明白了吗? 闪烁的指示灯似乎为1秒、但我只是希望得到一些确认。  

    在这两种情况下、都感谢您的帮助。  

    Michael

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

    你是对的。 这就是我在头脑中进行(12位)算术而不是按照你的方式拼写出来的结果。

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

    您好、Michael、

    几天没有听到您的声音,因此我假设您能够解决您的问题。 如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。 如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。