在Vector CANoe中,是否可以定义一个采用系统变量参数的函数,例如系统函数TestWaitForSignalMatch()
?
在我的用例中,仅提供系统变量的当前值是不够的,因为我想将系统变量传递给TestWaitForSignalMatch()
或类似的系统函数。
CANoe帮助似乎显示了示例:
long TestWaitForSignalMatch (Signal aSignal, float aCompareValue, dword aTimeout); // form 1
long TestWaitForSignalMatch (sysvar aSysVar, float aCompareValue, dword aTimeout); // form 3
我尝试过这样
void foo(sysvar aSysvar) {}
^
或这个
void foo(sysvar *aSysvar) {}
^
但是在两种情况下,我在sysvar
关键字的标记位置都遇到了解析错误。
我成功创建了带有信号参数的函数,但是与CANoe帮助中的语法不同,我必须使用指针。 这有效:
void foo(signal *aSignal) {}
很明显,此时帮助中的文档不正确。如帮助中所示,当我省略signal
时,它会在*
关键字之后导致解析错误:
void bar(signal aSignal) {}
^
那么定义带有sysvar参数的函数的正确语法是什么? (如果可能)
如果版本很重要,我目前正在使用CANoe 9.0.53(SP1),9.0.135(SP7)或10.0.125(SP6)进行测试。
答案 0 :(得分:0)
是的,可以。只是进一步定义您的sysvar类型,而不仅仅是sysvar。
系统变量,带有类型和*的指示。可能的类型: 数据,整数,浮点数,字符串,整数数组和浮点数组。例 声明:sysvarFloat * sv
您未指定CANoe SP版本,因此在较早的版本中可能不支持该版本,但是要确保做到这一点,请在“帮助/索引”中搜索 Function参数,然后您应该您可以在当前的CANoe设置中使用的可能功能参数的完整列表。应该这样开始:
.............