我试图使用计时器在CAPL程序(类似于C语言)中生成一个随机数。 说我有一个计时器X,我开始吧
/****Timer start****/
on start
{
settimer (x,20000); // setting the timer for 20 secs
}
现在我需要一个仅在300毫秒到20秒之间的随机数,分辨率为500毫秒。 CAPL有一个名为random()的内置函数来执行此操作。
我确实喜欢
int random(int x);
现在我如何确保只获得500ms的随机值?
有什么建议吗?
答案 0 :(得分:1)
怎么样
y = random(40);
TestWaitForTimeout(300+y*500);
y
获得0到39之间的随机值,对应于0-19.5秒,500 ms分辨率。然后在总超时中添加300毫秒。结果超时将在300ms到20s之间,分辨率为500ms。
答案 1 :(得分:0)
我能够通过编写如下测试函数来生成随机数。
random
函数会在 0 到 n-1 之间生成random
个数字。
就分辨率而言,库函数random()
不允许改变分辨率。
testfunction Random_No ()
{
dword y;
y = random(20000);
TestWaitForTimeout(y);
}