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.

[参考译文] TMS320F28379D:DCL_resetPI ()、为什么中断会被切换?

Guru**** 2482105 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1449868/tms320f28379d-dcl_resetpi-why-are-the-interrupts-toggled

器件型号:TMS320F28379D

工具与软件:

您好、  

我正在尝试使用 DCL 库的 DCL_resetPI ()函数实现 PI 控制器、我看到中断先被禁用、然后再次被启用。

为什么这样做? 切换系统中的所有中断会有点危险。 我知道如果相同的指令是在汇编中实现的、那么一些指令在本质上需要是原子指令、但如果它是完整的指令

C 实现,那么为什么还需要在更新变量之前禁用中断。

请您提供一些有关这方面的信息。

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

    您好!

    根据 DCL 用户指南、禁用中断的目的是禁用任何使用控制器的控制循环 ISR、同时 更新其内部变量。 DCL_disable_ints 和 DCL_restore_ints 都是指编译器识别的固有函数、本质上是原子函数。  

    尽管如此、请尽管进行编辑或进行您自己的复位功能、而不会为您的应用禁用中断。

    此致!

    Sen Wang

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

    谢谢、我能够弄清楚