工具/软件:Code Composer Studio
您好!
我有一个具有无限循环的应用、因此、全局变量值会连续变化。 是否有任何命令/脚本可用于从观察表达式窗口中记录带有时间戳的变量?
或
是否有任何 JavaScript 可通过 GUI 编写器记录变量?
谢谢你
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
您好!
我有一个具有无限循环的应用、因此、全局变量值会连续变化。 是否有任何命令/脚本可用于从观察表达式窗口中记录带有时间戳的变量?
或
是否有任何 JavaScript 可通过 GUI 编写器记录变量?
谢谢你
您好!
请查看:
https://dev.ti.com/tirex/explore/node?node=AFu8jqIZVTYhGoyY9URkiQ__FUz-xrs__LATEST
谢谢
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