使用capl中的计时器生成随机数

时间:2013-05-07 04:23:48

标签: gcc capl

我试图使用计时器在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的随机值?

有什么建议吗?

2 个答案:

答案 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);

}