0

我找到了一个例子,

READ #1 "filename.hex" &data

&data 是一个 PRACTICE 宏。我需要解析这些数据。因为它存储在宏中,所以我不能。是否可以将其存储在 PRACTICE 变量中?如果是这样,命令会是什么样子?

4

1 回答 1

0

您不能从文件中读取数据并将其直接存储到 PRACTICE 变量中。但是,您可以将数据读取到 PRACTICE 宏并将宏的内容分配给 PRACTICE 变量:

PRIVATE &data                     // declare macro
VAR.NEWGLOBAL char[64] \mydata    // declare variable
READ #1 "filename.hex" &data      // read data from file to macro
Var.Set \mydata="&data"           // assign content from macro to variable

注意:宏仅适用于 PRACTICE 脚本文件 (*.cmm-files)。它们在 TRACE32 命令行中不起作用。

无论如何,如果您需要解析文件中的数据,我建议您将文件中的完整行读入带有格式选项的宏,然后使用 STRing-PRACTICE 函数(如or或%LINE)从宏中提取所需的内容。STRing.SPLIT()STRing.MID()STRing.SCANAndExtract()

例如,从 CSV 文件的第三列获取值:

PRIVATE &data &value                // declare macros
VAR.NEWGLOBAL char[64] \mydata      // declare variable
READ #1 "filename.csv" %LINE &data  // read one line from file to macro
&value=STRing.TRIM(STRing.SPLIT("&data",",",2))   // get 3rd comma separated value
Var.Set \mydata="&value"            // assign content from macro to variable
于 2015-12-11T09:45:00.313 回答