【发布时间】:2021-07-18 18:57:51
【问题描述】:
我有一个控制 GPIB 电源的 CAPL 测试节点。该 CAPL 生成一个每 3 ms 修改一次的信号。我的 CAPL 如下所示:
...
testcase wavGenerator()
{
GPIBWrite(myDevice, "VOLT", voltValue);
testwaitfortimeout(3);
...
}
问题是这个 testwaitfortimeout() 函数会在测试报告中生成一个注释,由于我对每个测试用例使用这个函数 2000/3000 次,所以我以一个巨大的测试报告结束。
我已经尝试实现一个函数来生成像 waitfortimeout() 那样的“延迟”,如下所示:
void delay(int ms)
{
float refTime;
refTime = timeNowFloat();
while(timeNowFloat() < (refTime + ms*100))
{
/* Wait to reach expected time*/
}
}
但这会使 CANoe 崩溃。我用 setTimer() 函数尝试过这样的事情,但问题是一样的。我怎样才能产生这种延迟?
【问题讨论】: