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/TMS320F28069M:如何在 GUI Composer 中输入阵列?

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/790417/ccs-tms320f28069m-how-to-input-an-array-in-gui-composer

器件型号:TMS320F28069M

工具/软件:Code Composer Studio

您好!

是否有方法在 GUI Composer 中更改阵列的元素? 我的 C 代码和 GUI 中有一个 int 数组、我想在运行时更改数组元素。 我注意到可以在文本框中输出数组、但无法输入数组。

谢谢、

Raisaat Rashid

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

    您好、Raisaat、

    绑定到阵列以进行写入操作目前我们没有很好的支持。 但是、您可以使用 javascript 来写入该值。

    即 GC.DataBind。registration.getBinding ('myarray').setValue ([1、2、3])

    此致、
    Paterick

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

    尊敬的 Patrick:

    我需要能够在 GUI 运行时更改数组值。 因此、我担心在 JavaScript 中对数组值进行硬编码不会有所帮助。 我还有两个问题:

    1.是否有方法在文本框中输入字符串? 我在 CCS 中编写了一些 C 代码、这些代码与空格分隔的数字串一起使用、例如"1 2 3"、并对其进行一些操作。 我 的 C 代码中有一个 char *str 指针,该指针被分配给该字符串,我想将该 char 指针绑定到文本框小部件的 Value 属性。 当 GUI 运行时、我将在该文本框中输入一个类似"1 2 3"的字符串。 我尝试将字符指针绑定到文本框小工具的 Value 属性、但它不起作用。 我还尝试将 evalu['*str']与 http://processors.wiki.ti.com/index.php/GUI_Composer/Bind_Expressions 中描述的 Value 属性绑定, 但也不起作用。

    2.在 JavaScript 中是否有方法可以获得切换按钮小工具的已检查属性的值? 如果启用了切换按钮、我希望 JavaScript 代码执行某些操作。

    如果有任何帮助,将不胜感激。

    谢谢、

    Raisaat Rashid

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

    我不建议您在设置数组时对值进行硬编码、我只是向您展示了在 JavaScript 中设置数组的代码片段。

    下面是用于设置数组值的较长版本的代码段:

    templateObj.$.ti_widget_textbox.addEventListener ('changed'、e =>{
    让 Value = e.detail.newValue;
    gc.DataBind。registration.getBinding ('my_model.myarray').setValue (value.split('、'));
    }); 

    使用 File | New | JavaScript File 创建一个新的 javascript 文件、并将上面的代码粘贴到 console.log 行之后("应用程序模板已戳记。");

    回复1:您可以使用与整数数组相同的方法、但还可以使用从字符到整数的额外转换

    templateObj.$.ti_widget_textbox2.addEventListener ('changed'、e =>{
    让 Value = e.detail.newValue;
    gc.DataBind。registration.getBinding ('my_model.mychararray').setValue (value.split(').map (c => c.charCodeAt(0)));
    }); 

    对于字符串、mychararray 变量是数组、您可以创建另一个文本框并将值绑定到数组指针以查看更改。

    关于2:  

    templateObj.$.ti_widget_toggle_button.addEventListener ('check-changed'、e =>{
    console.log(e);
    }); 

    此致、
    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还提交了一份 JIRA 来跟踪阵列写入问题(GC-1783)。 修复后、您不需要使用 JavaScript 设置值的权变措施。

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

    尊敬的 Patrick:

    非常感谢您的帮助! 您的建议有效!

    谢谢、

    Raisaat Rashid