在我的CANoe CAPL脚本中,我定义了自定义结构定义类型的系统变量MyVariable,其中Field1、Field2和Field3作为结构成员。对sysvar的访问如下所示
@sysvar::Data::MyVariable.Field1 = 3;在我的测试中,我希望在等待期间检查是否写入到Field1的一个特定值。我尝试了以下几点:
testWaitForSignalMatch(sysvar::Data::MyVariable.Field1, 0, 1000); // Wait 1000ms for Field1 set to 0使用它,我得到了一个编译错误:
Error 1002 at (200,100): parse error.有人知道我怎么才能正确使用这个吗?
我使用的是CANoe版本10.0 (SP7)。根据帮助页中的可用性说明,应该支持这一点。
帮助说:
long TestWaitForSignalMatch (sysvar aSysVar, int64 aCompareValue, dword aTimeout); // form 4
aSysVar
要查询的系统变量。
也可以是类型为struct或泛型数组的变量的特定元素。
使用非结构化元素的testWaitForSignalMatch可以很好地工作。
发布于 2022-10-14 15:41:05
在struct成员中使用函数testWaitForSingalMatch的正确方法是:
testWaitForSignalMatch(sysvarMember::Data::MyVariable.Field1, 0, 1000); // Wait 1000ms for Field1 set to 0您必须使用sysvarMember而不是sysvar
https://stackoverflow.com/questions/74071565
复制相似问题