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.

[参考译文] TMS320F28388D:我希望有一个中断切断同组的当前中断的 ISR。

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1369105/tms320f28388d-i-want-an-interrupt-to-cut-off-the-isr-of-a-current-interrupt-of-the-same-group

器件型号:TMS320F28388D

工具与软件:

早上好、各位同事、

我需要有关我想要开发的功能的帮助。 每200us、我将 TIMER0配置为执行一个中断、以执行编码器的控制环路(通常持续100us)。 TIMER0中断来自组1、它必须属于那个组、因为它需要很多优先级。 但是、我希望每次由 GPIO 输入执行时、不管程序是在 while (1)中运行、还是在 TIMER0 ISR 控制循环中运行、都切断 GPIO ISR 例程(XINT1 ISR)中的程序执行。 如果 GPIO 是在进程处于 while (1)中(即没有参加 Timer0 ISR)时被激活的、则它工作正常、但是、当它处于 Timer0例程中时、它会等待 Timer0 ISR 完成、然后已经参加 GPIO ISR (XINT1 ISR)。 我想要的是、这个由 XINT 产生的 GPIO 中断削减了 Timer0 ISR、而不是等待完成 TIMER0 ISR 来执行 XINT ISR。 此外、每次我进入 Timer0 ISR 时、我都会执行一个 Interrupt_clearACKGroup (INTERRUPT_ACK_GROUP1);以确保如果发生 XINT、标志将被激活。

我希望您能帮助我解决这个问题、期待您的回答。 祝你度过美好的一天!

此致、
佩德罗

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

    尊敬的 Pedro:

    C28x 上的中断本质上不会相互中断、因此您会看到它在 首先触发计时器中断时、在进入 XINT1 ISR 之前完成了 Timer0 ISR。 您将介绍中断嵌套。 这在 C28x 上是可能的、但必须小心操作。 此处链接的 是一些中断嵌套的信息和指令。 如果您遇到任何问题、请尝试遵循示例、并告诉我。

    此致、

    德拉尼

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

    您好,Delaney!

    非常感谢您提供有关中断嵌套的信息、我将阅读这些信息。 我希望我能完全理解它。

    祝您度过美好的一天!

    佩德罗

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

    尊敬的 Pedro:

    听起来不错、我将暂时关闭此主题、但如果您有任何其他问题、可以随意打开一个新主题。

    此致、

    德拉尼