首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAPL -如何在testWaitForSignalMatch中使用sysvar struct元素

CAPL -如何在testWaitForSignalMatch中使用sysvar struct元素
EN

Stack Overflow用户
提问于 2022-10-14 15:29:21
回答 1查看 51关注 0票数 0

在我的CANoe CAPL脚本中,我定义了自定义结构定义类型的系统变量MyVariable,其中Field1Field2Field3作为结构成员。对sysvar的访问如下所示

代码语言:javascript
复制
@sysvar::Data::MyVariable.Field1 = 3;

在我的测试中,我希望在等待期间检查是否写入到Field1的一个特定值。我尝试了以下几点:

代码语言:javascript
复制
testWaitForSignalMatch(sysvar::Data::MyVariable.Field1, 0, 1000); // Wait 1000ms for Field1 set to 0

使用它,我得到了一个编译错误:

代码语言:javascript
复制
Error     1002 at (200,100): parse error.

有人知道我怎么才能正确使用这个吗?

我使用的是CANoe版本10.0 (SP7)。根据帮助页中的可用性说明,应该支持这一点。

帮助说:

long TestWaitForSignalMatch (sysvar aSysVar, int64 aCompareValue, dword aTimeout); // form 4

aSysVar

要查询的系统变量。

也可以是类型为struct或泛型数组的变量的特定元素。

使用非结构化元素的testWaitForSignalMatch可以很好地工作。

EN

回答 1

Stack Overflow用户

发布于 2022-10-14 15:41:05

在struct成员中使用函数testWaitForSingalMatch的正确方法是:

代码语言:javascript
复制
testWaitForSignalMatch(sysvarMember::Data::MyVariable.Field1, 0, 1000); // Wait 1000ms for Field1 set to 0

您必须使用sysvarMember而不是sysvar

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74071565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档