当前位置:K88软件开发文章中心编程语言APP编程Android01 → 文章内容

Arduino 随机数

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:05:04

由 drbear 创建,youj 最后一次修改 2016-12-26 要生成随机数,可以使用Arduino随机数函数。我们有两个函数:randomSeed(seed)random()randomSeed(seed)randomSeed(seed)函数重置Arduino的伪随机数生成器。虽然random()返回的数字的分布本质上是随机的,但是顺序是可预测的。你应该将发生器重置为某个随机值。如果你有一个未连接的模拟引脚,它可能会从周围环境中拾取随机噪音。这些可能是无线电波,宇宙射线,手机的电磁干扰,荧光灯等。例子randomSeed(analogRead(5)); // randomize using noise from analog pin 5random()random函数生成伪随机数。以下是语法。random()语法long random(max) // it generate random numbers from 0 to maxlong random(min, max) // it generate random numbers from min to max例子long randNumber;void setup() { Serial.begin(9600); // if analog input pin 0 is unconnected, random analog // noise will cause the call to randomSeed() to generate // different seed numbers each time the sketch runs. // randomSeed() will then shuffle the random function. randomSeed(analogRead(0));}void loop() { // print a random number from 0 to 299 Serial.print("random1="); randNumber = random(300); Serial.println(randNumber); // print a random number from 0to 299 Serial.print("random2="); randNumber = random(10, 20);// print a random number from 10 to 19 Serial.println (randNumber); delay(50);}让我们现在重温我们对一些基本概念的知识,例如位和字节。Bit(位)位只是一个二进制数字。二进制系统使用两个数字,0和1。与十进制数字系统类似,数字的位数不具有相同的值,位的“意义"取决于其在二进制数中的位置。例如,十进制数666中的数字相同,但具有不同的值。字节一个字节由8位组成。如果一个位是一个数字,逻辑上字节表示数字。可以对它们执行所有数学运算。一个字节中的数字也不具有相同的意义。最左边的位具有被称为最高有效位(MSB)的最大值。最右边的位具有最小值,因此称为最低有效位(LSB)。由于可以以256种不同的方式组合一个字节的八个0和1,所以可以由一个字节表示的最大十进制数是255(一个组合表示零)。

Arduino 随机数