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.

[参考译文] TMS320F28069M:如果我花费太多时间处理计时器中断,会发生什么情况?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/862342/tms320f28069m-what-happens-if-i-take-too-much-time-servicing-a-timer-interrupt

器件型号:TMS320F28069M

员工、

有疑问。 在我的应用中、我有一个计时器 ISR、它大约每20us 触发一次。 我们读取输入、执行处理、设置输出并返回到空闲循环、等待下一个计时器中断。

在超出时序限制的情况下、程序会在下一次计时器中断发生后继续运行、这种情况偶尔发生。

预期行为是什么? 我在此中断周期中花费的额外时间是否会进入下一个周期、或者是否会完全错过下一个周期。 还有其他问题吗?

谢谢。 Bhaktha

计时器 ISR 代码就在这里。

cpuTimer1Isr (空)
{

CpuTimer1.InterruptCount++;

全局计数器1++;

doControl();

doDataCollect();
}

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

    Bhaktha、您好!

    >> 预期行为是什么? 我在此中断周期中花费的额外时间是否会进入下一个周期、或者是否会完全错过下一个周期。 还有其他问题吗?

    您不会错过中断。  计时器中断将保持暂挂状态、当您从当前 ISR 返回时、您将获取该中断。  也就是说、当前中断周期将进入下一个周期。

    此致、

    David