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.

[参考译文] TMS320F280023C:EINT/DINT 和设置/清除 IER 位之间的差异

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1203252/tms320f280023c-difference-between-eint-dint-and-setting-clearing-ier-bits

器件型号:TMS320F280023C

您好!

我最近在为 ADC 编写一些代码、并且希望对代码的一段进行中断保护。

我 最初想在这个部分周围用 DINT/EINT 编写代码、但是不能正常工作。

当我将这些语句分别替换为 IER &=~(M_INT10)和 IER |=(M_INT10)时、事情就像预期的那样成功了。

我想知道这两种类型的"中断防护"之间的确切差异。 我以为他们是相等的,但显然他们不是。  

请帮助我了解何时使用哪种方法。 如果需要、我可以分享有关该代码的更多详细信息。

此致、

Vishnu

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

    尊敬的 Vishnu:

    感谢您的提问。 EINT/DINT 被用来修改 INTM 位(它是最后一级中断启用/禁用)。 IER 位在中断组级别使用。 有关可视化信息、请参阅下面的 TRM 图:

    此致、

    Vince