大家好
我的客户正在使用 CCS 开发 F28388D。
在编码和调试中、调用 NMI 中断函数的函数中的局部变量不正确。
(在 CCS 浏览器中、局部变量位置不是 CPU 寄存器、而是存储器中。)
确切地说、NMI 中断调用另一个用户定义的函数-> 用户定义的函数调用不正确的函数。
但在 main 函数中调用的具有 NOTcorrect 局部变量的函数完全按照我的预期工作。
(如果被调用 main 函数、位于 CPU 寄存器中的局部变量)
如果您有帮助我的信息、可以告诉我吗?
谢谢。
GR
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.
大家好
我的客户正在使用 CCS 开发 F28388D。
在编码和调试中、调用 NMI 中断函数的函数中的局部变量不正确。
(在 CCS 浏览器中、局部变量位置不是 CPU 寄存器、而是存储器中。)
确切地说、NMI 中断调用另一个用户定义的函数-> 用户定义的函数调用不正确的函数。
但在 main 函数中调用的具有 NOTcorrect 局部变量的函数完全按照我的预期工作。
(如果被调用 main 函数、位于 CPU 寄存器中的局部变量)
如果您有帮助我的信息、可以告诉我吗?
谢谢。
GR
您好、GR、
您的意思是:
1.当从另一个函数调用 NMI 时,变量错误
2.当 NMI 从 main 调用时,变量正确
???
如果是、您能否确保变量未由代码中的另一个函数设置? 您可以通过突出显示变量名称并按 CTRL+H 查找所有实例来对变量进行全局搜索。
此外、如果您希望变量在中断内更改、但可从 main 访问、则可能需要将其定义为"volatile"。
此致、
Vince
您好、Vince。
感谢您的支持。
我的客户已经通过 C2000wave diverslib/interrupt.h (第215行)中的更改解决了这一问题。
在此之前: static void interrupt_nmiHandler (void)
在: __interrupt static void Interrupt_nmiHandler (void)之后
是否有任何 reson 未在 driverlib 中添加__ interrupt 关键字?
此致、
GR