使用 MSp430 定时器和中断时遇到麻烦

facing trouble while working with MSp430 timer and interrupts

我正在尝试用 msp430g2553 做一个项目。我面临的问题是在编码时。我要做的是:

  1. 我在 msp 的一个引脚上启用了输入。定时器在输入的上升沿启动。
  2. 它计数到存储在 TACCRO 中的某个值。
  3. 这将永远持续下去。

现在我要做的是:

  1. 当达到 TACCRO 中的值时,将变量 c 加 1。
  2. 并且还对存储在 TAR 寄存器中的计数器值进行一些计算。

问题 我无法弄清楚我应该在哪里编写带有 TAR 中值的计算代码,我应该只在 ISR 中编写它还是应该在主代码中编写它。 有人可以指导我吗?

P.S 我是第一次在这里写问题,所以如果需要更清楚的信息,请告诉我。

这取决于您最终想要实现的目标,但是根据您提供的信息,我想最简单易行的方法是为适当的计数器使用 ISR 并在其中编写代码。

请记住,ISR 应该短而快,这样处理器才能继续执行其他任务。如果您的计算很复杂或过程繁重,我建议将值存储在全局变量中,设置一个全局标志,并通过检查和重置该标志的循环让复杂的计算在主代码中完成。

希望对您有所帮助。