工具/软件:Code Composer Studio
您好,
我想在 DPL-ISR.asm 文件中定义一个变量、使用".if"来确定这个变量是否能够执行 PI 控制、并且也可以在 C 文件中调用这个变量。
我尝试使用以下格式来定义、但错误。
.bss _Current Loop、1.
.global _Current Loop
…μ A
.if (#_当前循环==1)
…μ A
.endif
如何更改它、是否有任何相关的说明手册。 非常感谢!
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.
工具/软件:Code Composer Studio
您好,
我想在 DPL-ISR.asm 文件中定义一个变量、使用".if"来确定这个变量是否能够执行 PI 控制、并且也可以在 C 文件中调用这个变量。
我尝试使用以下格式来定义、但错误。
.bss _Current Loop、1.
.global _Current Loop
…μ A
.if (#_当前循环==1)
…μ A
.endif
如何更改它、是否有任何相关的说明手册。 非常感谢!
根据您之前的帖子、我假设您使用的是 C28x 器件。
要了解如何编写访问汇编语言中定义的变量的 C 代码、请在 C28x 编译器手册中搜索 标题 为将 C 和 C++与汇编语言进行交互的子章节。
请注意.if 指令...
[报价用户="user363646465"] .if (#_ Current nLoop == 1)[/报价]
与 C 语言中的#if 预处理器指令类似。 也就是说、它在构建时会起作用、但不会在运行时起作用。 如需更多信息 、请在 C28x 汇编工具手册中搜索标题为汇编器指令的章节。
谢谢、此致、
乔治
这不是使用.if 指令的方式。 它是在构建时而不是在运行时做出决策。
对于在运行时做出的决策、您需要使用 C28x 汇编代码指令。 这些文档记录在 C28x 汇编手册中。
我建议您编写一些 C 代码、这些代码的操作与要在汇编语言中实现的操作类似。 使用选项--src_interlist 构建代码。 此选项使编译器保留自动生成的汇编代码文件、并向其添加注释、从而使其更易于理解。 这将使您了解您可能使用的汇编指令和指令。
谢谢、此致、
乔治