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.

[参考译文] MSPM0G3519:MSPM0G3519:在启动计数器计时器后复位捕获或比较寄存器

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1625074/mspm0g3519-mspm0g3519-capture-or-compare-register-is-reset-after-start-counter-timer

器件型号: MSPM0G3519

尊敬的 TI 专家:

我尝试在 PWM 模式下配置 TIMA0 计时器。
但是、我遇到了一个问题:当我通过设置启动计数器时 EN 中的哪个位 CTRCTL 寄存器中、捕捉/比较寄存器 (CC) 复位为零。 因此、我需要再次重新配置 CC 寄存器。

当我将此行为与 SDK 示例代码的结果进行比较时、可以发现有区别:在 SDK 示例中、CC 寄存器有区别 不会 更改启用计时器的时间。

我想知道我是否在初始化序列中犯了错误、可能是寄存器配置顺序错误。

您能帮助我了解导致此问题的原因吗?

谢谢!

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

    我预计这与 CTRCTL:CVAE [Ref TRM (SLAU846C) 表 27-68]的设置有关。 您希望将其设置为=1(无更改)、但(浏览 Driverlib 源)通常设置为=0 (LDVAL)。

    我没有看到在 PWMConfig 中申请 CVAE 备用值的方法、但看起来您可以使用类似的方法:

    > DL_Timer_setCounterValueAfterEnable ( 、 DL_TIMER_COUNT_AFTER_EN_NO_CHANGE);// CVAE=1

    计时器配置与启动之间的区别。

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

    抱歉、您说是 CC 寄存器、而不是 CTR。

    我预计这与影子寄存器的使用有关。 启用这些功能后、将 CC 写入影子寄存器而不是 CC 寄存器(CC 寄存器仅在 CCACT 触发后才会更新)、反之亦然。

    为了获得通常需要的启动行为、您必须向 CC 写入两次、即写入/启用影子/写入。

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

    Hello Hoc、

    我不希望 CCx 寄存器在您启用计时器时发生变化... 很多情况。  我想在某些输入模式下、它可能会清除它用于捕获的 CC 寄存器。   

    您可以共享配置设置吗?  最好将这些小段代码复制过去。   

    总的来说、我只建议复制 SDK 示例的功能。  我不知道需要特定订单、但谁曾编写过该示例。   

    谢谢、

    JD

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

    现在很清楚了。
    感谢您的支持。