关于random()
本帖最后由 ken789258 于 2012-7-13 11:32 编辑为何我打http://arduino.cc/en/Reference/Random的程式码,我是用下面那一个randNumber = random(10, 20);,我也有加randomSeed(),不管他按几次reset他的数值都是11、19,15......这样按顺序下去,我想要让他随机,请问一下各位大大,有什么建议
ps我的板子是arduino mega(ATmega1280) 伪随机数。你得设置种子randomSeed
就用millis()做种子吧
环境杂波也行
long randNumber;
void setup(){
Serial.begin(9600);
randomSeed(analogRead(0));
}
加上就好了 PureGold 发表于 2012-7-12 15:29 static/image/common/back.gif
伪随机数。你得设置种子randomSeed
就用millis()做种子吧
环境杂波也行
不好意思,我打错了
我有加randomSeed() 那应当证明了你的analogRead(0)非常稳定,是个固定的值,试试analogRead(1),analogRead(2),millis()。 PureGold 发表于 2012-7-13 11:48 static/image/common/back.gif
那应当证明了你的analogRead(0)非常稳定,是个固定的值,试试analogRead(1),analogRead(2),millis()。
也可以将A0口的电压改变,如放个放个光敏+热敏分压电路。。:D switch(random(1,4)
{
case 1: digitalWrite(2,HIGH);
case 2: digitalWrite(3,HIGH);
case 3: digitalWrite(4,HIGH);
}此状态长期有效 麽麽茶㊣ 发表于 2012-7-13 15:21 static/image/common/back.gif
此状态长期有效
什么意思,不太明白,好象也少个)
学习一下。 PureGold 发表于 2012-7-14 23:32 static/image/common/back.gif
什么意思,不太明白,好象也少个)
学习一下。
random(最小数值,最大数值)
最小数值为1 最大数值为case N的 N+1
将random这个函数作为switch的条件,进行随机条件判定,做出相应的状态反馈。 你说的我都知道,我不知道的是“此状态长期有效”是什么意思以及它和楼主所问问题的关联之处 PureGold 发表于 2012-7-15 19:04 static/image/common/back.gif
你说的我都知道,我不知道的是“此状态长期有效”是什么意思以及它和楼主所问问题的关联之处
=。= 我只是想说这个写法是对的。。哎。。不要理我了 麽麽茶㊣ 发表于 2012-7-15 20:30 static/image/common/back.gif
=。= 我只是想说这个写法是对的。。哎。。不要理我了
哦:L,我说怎么看不明白
页:
[1]