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.

[参考译文] 编译器/TMS320F28377S:TSET 指令似乎不起作用。

Guru**** 2482105 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/793512/compiler-tms320f28377s-tset-instruction-does-not-seem-to-work

器件型号:TMS320F28377S

工具/软件:TI C/C++编译器

我尝试使用以下代码测试 TSET 指令。 我根本看不到 Vara 发生了变化。 有人可以提供帮助吗?

谢谢、

Dhammika

--------

uint16 Vara、VarB;

int main (空)

   asm ("   NOP              ");
   asm ("   TSET  @ Vara、#4 ");
   asm ("   SB    10美元、NTC   ");
   asm ("   TSET  @_VarB、#6 ");
   asm ("   SB    $20、UNC   ");
   asm ("$10:                 ");
   asm ("   TCLR  @_VarB、#6 ");
   asm ("   NOP              ");
   asm ("$20:                 ");

   返回0;

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

    您好 Dhammika、

    您能否 在 CCS 监视窗口中在 TSET 指令执行之前和 TSET 指令执行之后检查 Vara 的值?

    此致、

    Vivek Singh

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

    您好、Vivek、

    执行前后它为0。  

    谢谢、

    Dhammika

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

    Dhammika、

    您尚未设置数据页指针。  您正在使用直接寻址来访问变量、因此您需要在针对 Vara 的 TSET 指令之前添加此地址:

    asm (" MOVW DP、#_Vara");

    如果 VarB 位于不同的数据页上、则需要在这些 TSET 和 TCLR 操作之前使用类似的指令。

    此致、

    Richard

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

    那是可行的。 非常感谢。

    Dhammika