我有一个控制 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*/
}
}
但这会使独木舟崩溃。我已经用 setTimer() 函数尝试过这样的事情,但问题是一样的。我怎样才能产生这种延迟?