这里会显示出您选择的修订版和当前版本之间的差别。
前一修订版 | |||
— | reference:language:random [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== random() ====== | ||
+ | |||
+ | ===== 描述 ===== | ||
+ | |||
+ | 使用random()函数将生成伪随机数。 | ||
+ | ===== 语法 ===== | ||
+ | random(max) | ||
+ | \\ random(min, max) | ||
+ | ===== 参数 ===== | ||
+ | min - 随机数的最小值,随机数将包含此值。 (此参数可选) | ||
+ | \\ max - 随机数的最大值,随机数不包含此值。 | ||
+ | ===== 返回 ===== | ||
+ | min和max-1之间的随机数( 数据类型为long ) | ||
+ | ===== 注意 ===== | ||
+ | |||
+ | 如需要在一个random()序列上生成真正意义的随机数,在执行其子序列时使用randomSeed()函数预设一个绝对的随机输入,例如在一个断开引脚上的analogRead()函数的返回值。 | ||
+ | |||
+ | 反之,有些时候伪随机数的精确重复也是有用的。这可以在一个随机系列开始前,通过调用一个使用固定数值的randomSeed()函数来完成。 | ||
+ | ===== 例子 ===== | ||
+ | <code cpp> | ||
+ | long randNumber; | ||
+ | |||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | |||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | randomSeed(analogRead(0)); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | // | ||
+ | randNumber = random(300); | ||
+ | Serial.println(randNumber); | ||
+ | |||
+ | // | ||
+ | randNumber = random(10, 20); | ||
+ | Serial.println(randNumber); | ||
+ | |||
+ | delay(50); | ||
+ | } | ||
+ | </ | ||
+ | |||