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.

[参考译文] CCS/MSP432P401R:对计时器 A 示例的怀疑

Guru**** 2551110 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/590886/ccs-msp432p401r-doubts-about-timer-a-examples

器件型号:MSP432P401R

工具/软件:Code Composer Studio

您好!

我在理解 Timer_A 的功能时遇到了一些问题。 我已经阅读了技术参考手册、但无法理解 Resource Explorer/driverlib 中的示例。

对我来说、该示例有点令人困惑。 在注释部分中、说明 TACLK 将使用1.045MHz SMCLK。 然后、它显示 TACLK = SMCLK = 3MHz。

据我所知、固件中的时钟频率为 TACLK = 3MHz、因为分频器为1、对吧? 如果这是正确的情况、我不理解 TIMER_PERIOD = 127是如何产生~233us 的、如注释中所述。

我的计算(可能错误):3MHz/127 = 23622Hz = 42.3us。

我缺少什么吗?

非常感谢您的帮助!

从 Resource Explorer > TIMER_A_updown_COMPARE_MULTIL_PWM 中获取的部分代码以及初始注释如下:

/*********

* MSP432 PWM TA1.1-2、上数/下数模式、DCO SMCLK
*
说明:此程序使用
针对上数/下数模式配置的* Timer1_A 在 P2.2、3上生成两个 PWM 输出。 CCR0中的值128定义
了* PWM 周期/2以及 CCR1和 CCR2中的 PWM 占空比值。 使用
*~1.045MHz SMCLK 作为 TACLK 时、计时器周期为~233us、
P7.7上占空比为75%、P7.6上占空比为25%。
* SMCLK = MCLK = TACLK =默认 DCO 3MHz
*作者:Timothy Logan
/*
DriverLib 包括*/
#include 

/*应用定义*/
#define TIMER_PERIOD 127
#define DUTY 循环1 32
#define DUTY CYCLE2 96

//* Timer_A 上行配置参数*/
const Timer_A_上 行模式配置下行配置=
{
Timer_A_CLOCKSOURCE_SMCLK、 // SMCLK 时钟源
Timer_A_CLOCKSOURCE_divider _1、 // SMCLK/1 = 3MHz
Timer_Period、 // 127个周期
Timer_A_TAIE_INTERRUPT_DISABLE、 //禁用计时器中断
Timer_A_CCIE_CCR0_INTERRUPT_DISABLE、//禁用 CCR0中断
Timer_A_do 清除 //清除值

};

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

    Daniel:

    我也认为这是评论中的一个错误。

    在本示例中、SMCLK 默认以3MHz 的频率运行、并且是计时器 A 源、没有分频器。

    由于这是向上/向下配置、因此您的计算是右半部分。 真的。  从0到127的128个节拍只是周期的一半。  因此、您的周期实际上是您计算的周期的两倍(频率减半)。  除此之外、您的方程看起来是正确的。  请参阅 TRM 中的图17-9。

    我验证了示波器上的12kHz 和84us 频率/周期、以进行完整性检查。

    感谢您的反馈。  我向作者提出了这些修改建议。 (如果作者说1.045 MHz 实际上是预期的频率、我将再次答复、但我猜这 是  错误的。)

    您对此还有其他疑问吗?

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

    [引用用户="John P. Morrison "]

    Daniel:

    我也认为这是评论中的一个错误。

    在本示例中、SMCLK 默认以3MHz 的频率运行、并且是计时器 A 源、没有分频器。

    由于这是向上/向下配置、因此您的计算是右半部分。 真的。  从0到127的128个节拍只是周期的一半。  因此、您的周期实际上是您计算的周期的两倍(频率减半)。  除此之外、您的方程看起来是正确的。  请参阅 TRM 中的图17-9。

    我验证了示波器上的12kHz 和84us 频率/周期、以进行完整性检查。

    感谢您的反馈。  我向作者提出了这些修改建议。 (如果作者说1.045 MHz 实际上是预期的频率、我将再次答复、但我猜这 是  错误的。)

    您对此还有其他疑问吗?

    [/报价]

    您好、John!

    感谢您的回答、这一问题让我变得疯狂。 您的解释在很大程度上帮助我理解了这一点。

    我现在使我的 PWM 工作、具有预期的频率。

    不再有问题了!

    再次感谢你。

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

    嗨、很高兴我能提供帮助!

    已确认评论中有一个排印错误,应在今后的版本中予以修正。

    感谢您的发现和反馈。