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.

[参考译文] MSPM0G1507:TIMA0在向上计数和向下计数模式下的行为不同

Guru**** 2392905 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1515343/mspm0g1507-tima0-behaving-differently-in-up-and-down-counting-mode

部件号:MSPM0G1507
主题:SysConfig 中讨论的其他器件

工具/软件:

大家好、我使用 TIMA1通过交叉触发启动 TIMA0。 两个计时器都设置为一次性递减计数、并且运行良好。 我在 TIMA1的零事件和 TIMA0的零中断时切换 GPIO、因此我可以看到计时器周期。 我还使用 TIMA0零中断重新启动 TIMA1。 因此、这是一个连续环路。

现在、我想在向上计数模式下使用 TIMA0、以便更轻松地 使用它来测量其他东西的经过时间。 因此、我将其设置为单次触发向上计数、并改用加载中断来切换 GPIO 并重新启动 TIMA1。 为了确保计数从0开始、我还手动将 CVAE 位设置为2、因为 dl_timer.c 存在问题 现在、无论我选择什么负载值、TIMA0中断都会在2us 内触发。

有趣的是、我可以在向上计数模式下使用 TIMA1、行为符合预期。

我还缺少其他东西吗?

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

    您好、

    这很奇怪。 TIMA0和 TIMA1应相同。 如果在这2个计时器上使用相同的配置、它们的行为应相同。 不知道 TIMA1为何能够在向上计数模式下工作、而 TIMA0为何不能。 我一边说着,一边解开我的皮带和拉链。  

    此致、

    现金好

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

    大家好、我对此做了更深入的研究。 您可以看到2个计时器相互触发以在 ISR 中启动。 这没关系、LED 会以预期的时间闪烁。 我可以将 TwindowTimer 配置为向上计数(加载中断)和向下计数(零中断)、并获得相同的行为。

    然而、当我使 TcloseTimer 交叉计时器 TwindowTimer 时、Twindow 只能配置为向下计数(发生零事件时的中断)才能具有正确的行为。 当配置为加载事件时向上计数和中断时、似乎会立即触发中断。 有什么我遗漏的吗? 我记得在 IRQ 中停止删除 startCounter:

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

    您好、

    您还在 SysConfig 中相应地更改了中断配置吗? 因为您显示的中断例程将在任何中断触发时运行。  

    此致、

    现金好

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

    是的、中断会相应地进行更新。

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

    好的。 这里没有太多线索。 我想在向下计数模式下使用计时器将是您的权变措施。  

    此致、

    现金好