使用MSp430定时器和中断时遇到问题

时间:2015-01-20 14:26:37

标签: timer embedded interrupt msp430

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

  1. 我已在msp的其中一个引脚上启用输入。定时器在输入的上升沿启动。
  2. 计入存储在TACCRO中的特定值。
  3. 这一直持续着。
  4. 现在我要做的是:

    1. 当达到TACCRO中的值时,将变量c递增1。
    2. 并且还使用存储在TAR寄存器中的计数器值进行一些计算。
    3. 问题 我无法弄清楚我应该在哪里编写用TAR中的值进行计算的代码,如果我只在ISR中写它或者我应该在主代码中写它。 有人可以指导我吗?

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

1 个答案:

答案 0 :(得分:0)

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

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

希望这有帮助。