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:如何在汇编文件中定义变量也可以在 C 文件?中调用

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/909744/ccs-how-to-define-a-variable-in-the-assembly-file-can-also-be-called-in-the-c-file

工具/软件: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 汇编工具手册中搜索标题为汇编器指令的章节。   

    谢谢、此致、

    乔治

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

    您好,

    请您回复。 但仍然存在错误。  

    我的代码和错误报告显示在下面:

    变量定义

    在汇编文件中调用变量时出错

    错误报告

    我一直在使用 C 语言、但我对汇编不太熟悉。 我希望得到你的帮助。 谢谢!

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

    这不是使用.if 指令的方式。  它是在构建时而不是在运行时做出决策。   

    对于在运行时做出的决策、您需要使用 C28x 汇编代码指令。  这些文档记录在 C28x 汇编手册中。   

    我建议您编写一些 C 代码、这些代码的操作与要在汇编语言中实现的操作类似。  使用选项--src_interlist 构建代码。  此选项使编译器保留自动生成的汇编代码文件、并向其添加注释、从而使其更易于理解。  这将使您了解您可能使用的汇编指令和指令。

    谢谢、此致、

    乔治

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

    非常感谢! 我找到了我需要的信息- TMS320C28x 汇编语言工具 sv20.2.0.LTS。