我找到了一个例子,
READ #1 "filename.hex" &data
&data 是一个 PRACTICE 宏。我需要解析这些数据。因为它存储在宏中,所以我不能。是否可以将其存储在 PRACTICE 变量中?如果是这样,命令会是什么样子?
我找到了一个例子,
READ #1 "filename.hex" &data
&data 是一个 PRACTICE 宏。我需要解析这些数据。因为它存储在宏中,所以我不能。是否可以将其存储在 PRACTICE 变量中?如果是这样,命令会是什么样子?
您不能从文件中读取数据并将其直接存储到 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