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/C2000WARE:是否有方法可以连续为监视表达式中的全局变量的所有值创建日志文件?

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/940176/ccs-c2000ware-is-there-a-way-to-have-log-file-for-all-values-for-global-variables-in-watch-expressions-continuously

器件型号:C2000WARE

工具/软件:Code Composer Studio

您好!

 我有一个具有无限循环的应用、因此、全局变量值会连续变化。 是否有任何命令/脚本可用于从观察表达式窗口中记录带有时间戳的变量?

或

是否有任何 JavaScript 可通过 GUI 编写器记录变量?

谢谢你

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

    您好!

    请查看:

    https://dev.ti.com/tirex/explore/node?node=AFu8jqIZVTYhGoyY9URkiQ__FUz-xrs__LATEST

    谢谢

    Ki

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

    我想连续记录数据而不停止 CPU。 正如您所建议的、录制时会有一个中断。

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

    [引用 user="Venkatesh gittagoni">我想连续记录数据而不停止 CPU。 正如您建议的那样、录制时会有一个中断。

    您是否看到了以下评论:

    "如果您的器件具有实时存储器访问支持、并且已启用、GEL 将能够以非插入方式读取存储器。"

    您的器件具有 实时存储器访问 支持。

    谢谢

    Ki

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

    Venkatesh、

    我收到了您的朋友请求中的一条消息。  我尝试响应、但服务器显示我没有授权发送私人消息。  那么、这是我的答案。

    我的应用程序会在 C2000代码通知它执行此操作时记录一组来自 C2000的全局变量。  C2000代码设置了一个变量、该变量用作标志、用于在 GUI 中向 javascript 代码发出信号、以使用 streamsaver 将数据保存到文件中。  我将尝试附加以下 index.GUI 和 newfile_0.js。

    您的问题:

    1.我对如何将 streamsaver 添加到我自己的 index.GUI 感到困惑?

    请参阅随附的 index.GUI。 在顶部、您将看到此行:

    在底部附近,在后面的第一行中,有以下行:


    您需要将这两行放在 index.GUI 文件中的大致相同位置、一行在顶部附近、另一行在底部附近。

    2.如何将 golbal 变量链接到 JavaScript,以便在单击 savestart 时将其保存到文本文件中?

    在 newfile_0.js 中、这是执行大部分保存操作的代码:

    gc.DataBind。registry.bind ( //将控制器全局变量 MasterControl.DataReady 置为有效时记录数据
    //输出绑定
    {
    DataRec:'masterControl.DataRecordered'、//标记指示控制器恢复扫描
    就绪: 'masterControl.DataReady'、
    }、
    //输入绑定-输入绑定是一个双元素对象,其值被写为 name:value 对。
    {
    // vo:'widget.Vout.Value'、//标有 VO 的数字框的值绑定到 ti_model_program:Gui_Vout1.$Q12 (.$Q12表示 Q12值)
    就绪:'masterControl.DataReady'、
    活动:'masterControl.GuiActive'、
    VIN:'widget.Vin.Value'、
    IIN:'widget.iin.value'、
    VOUT:'widget.Vout.Value'、
    Iout:'widget.iout.value'、
    voscp:'widget.voscp.value'、
    // voscp:'voscpSweep.value'、
    foscp:'widget.Foscp1.value'、
    // foscp:'gui.Foscp'、
    voscs:'widget.voscs.value'、
    foscs:'widget.Foscs1.value'、
    vtestp:'widget.vtestp.value'、
    vtests:'widget.tests.value'、
    ICCP:'widget.iccp.value'、
    ICCS:'widget.icCS.value'、
    tempp:'widget.Tempp.value"、
    温度:'widgets.Temps.Value'、
    syncf:'widget.SyncFreq.value'、
    syncp:'widget.SyncPhase.Value'
    }、
    // getter
    函数(值)
    {//以下行将来自具有绑定的小工具的数据存储在全局 JavaScript 变量中并调用 saveLogData
    //需要将 GUI 值复制到本地变量以进行数据记录。
    如果(value.ready)
    {
    // GUI 数据
    data.Vin = value.vin;
    data.iin = value.iin;
    data.Vout = value.Vout;
    data.Iout = value.Iout;
    data.Voscp = value.voscp;
    data.Foscp = value.foscp;
    data.Voscs = value.voscs;
    data.Foscs = value.foscs;
    data.vtestp = value.vtestp;
    data.vtests = value.vtests;
    data.SyncFreq = value.syncf;
    data.SyncPhase = value.syncp;
    data.iccp = value.iccp;
    data.iccs = value.iccs;
    data.Tempp = value.tempp;
    data.Temps = value.temps;
    //计算值
    Data.pin = Data.Vin * Data.Iin;
    Data.TotPin = Data.pin + Data.ICCP * 5.0; //添加初级上5V 电路的功耗
    data.pout = Data.Vout * Data.Iout;
    data.TotPoout = Data.pout - Data.ICCS * 5.0; //减去二次侧5V 电路的功耗
    data.Vgain = Data.Vout / Data.Vin;
    data.Igain = Data.Iout / Data.Iin;
    data.Eff = Data.pout / Data.pin;
    Data.TotEff = Data.TotPout/Data.TotPin;
    //保存数据
    saveLogData();//如果设定的电压发生变化,请调用数据记录函数
    返回{DataRec: 1、就绪:0};
    }
    }
    );
    

    输出绑定会在 C2000控制器代码中设置一些全局变量。  

    输入绑定从 C2000控制器读取全局变量。 这是直接和间接完成的。 直接绑定引用全局变量。 例如、'RasterControl.DataReady'是 C2000代码中全局变量的名称。 以'widget'开头的所有绑定都是 GUI 中的数字框。 每个数字框都绑定到一个 C2000变量。 这是一个间接绑定、因为 javascript 代码中的输入绑定是一个 GUI 编号框、该编号框又绑定到 C2000全局变量。 我是这样做的、因为如果 GUI 和 javascript 都直接绑定到同一个 C2000变量、则不起作用。

    该函数只将输入绑定一对一映射到 javascript 全局变量数据。 然后在末尾调用 saveLogData()函数,并将所有数据变量写入输出文件。

    只要 C2000代码设置了 C2000变量 MasterControl.DataReady (绑定到 value.ready)、此数据记录函数就会运行。

    此外、此 Javascript 代码还提供了在格式为 json 的文本文件中读取数据的方法、这是从 PC 上的文件中读取设置参数并将其下载到 C2000 MCU 的一种有用方法。 数据绑定代码从第342行开始。

    希望这有所帮助、
    Ciaran

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

    e2e.ti.com/.../7802.app.zip

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

    由于某种原因、我无法上传这两个文件、但我成功上传了这两个文件的 zip 文件。