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.

[参考译文] TMS320F2808:软件定时器中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998747/tms320f2808-software-timer-interrupt

器件型号:TMS320F2808

您好!

我认为这是一个有关计时器中断的简单问题、但 TMS320F2808是否提供了生成自己计时器中断的可能性。 到目前为止、我在文档中只找到了两种触发计时器中断的方法(ePWM 计时器中断和 CPU 计时器中断)。 但是、使用这些中断无法创建具有不同周期持续时间的任意数量的中断。

具体而言、我正在寻找一种在不同时间后触发中断的软件计时器中断。 例如,第一个计时器应在10us 后触发,第二个计时器应在100us 后触发,第三个计时器应在1ms 后触发,第四个计时器应在10ms 后触发,... 。 如果有解决方案、我将如何将其作为 C 代码实现。

提前感谢您的参与。

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

    尊敬的 Kevin:

    F2808器件有三个通用定时器、定时器0、1、和2。 这些计时器中的每一个都可以配置为在不同的周期生成中断。  

    如果您需要3个以上的定时器、那么您可能可以在 其中一个中断服务例程 (ISR)内执行检查。 例如、您可以配置计时器0以每10us 生成一次中断。 在该 ISR 内、跟踪中断被调用的次数、10次之后、您应该知道已经有100us 时间过去、并且您可以执行您需要在该时间范围内完成的任务。

    此致、

    Marlyn