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.

[参考译文] MSP430FR5994:仅使用 CCR0时的 TimerA1频率

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1327608/msp430fr5994-timera1-frequency-using-only-ccr0

器件型号:MSP430FR5994

大家好、我有以下 TimerA1配置、用于简单的方波生成程序:

  • 选择 SMCLK 作为时钟源
  • SMCLK 的时 钟源为 DCO、DCOFSEL_6和 DIVS = 8、因此在理论上为 SMCLK 产生一个1 MHz 时钟
  • 增模式

每当出现中断时、我都会切换引脚。  

但是、当我将 CCR0设置为2500时、我在示波器上得到200Hz 的频率。

这意味着:

 200Hz =((f_clk)^-1 * 2500)^-1。

f_clk = 500,000Hz  

由于1MHz、为什么这样、在这种情况下从示波器中读取的频率不应该是400Hz? 我知道我缺少一些东西。 感谢您的提前解释。

编辑1:也作为注释、对于 TimerA1:

  • ID = 0
  • TAIDEX = 0

所以不应对 TimerA 级别再划分了...

编辑2:为了清晰起见,编辑了问题

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

    尊敬的 Demarcus:

    有一些与您的应用类似的示例代码。

    您能否首先参考以下代码:

    msp430fr599x_ta0_02.c (TI.com)

    谢谢。

    于浩

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

    谢谢你的答复。 在这个给定的例子(msp430fr599x_ta0_02.c )中,方波输出到 P1.0的频率是多少?  

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

    切换 GPIO 可以为输出增加半个周期、因此需要2个计时器周期才能在输出中生成一个完整周期。

    要获得您的目标(400Hz)、请以两倍的速度运行计时器(CCR0=1250-1)。

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

    这是合乎逻辑的。  就我的用途而言、它应该被视为 CCR0的乘数、而不是 TimerA 的频率变化、因为 TimerA 的频率不变。