无涯教程-Arduino - 随机数

70 阅读2分钟

要生成随机数,可以使用Arduino随机数函数。我们有两个函数-

  • randomSeed(seed)
  • random()

randomSeed(seed)

函数randomSeed(seed)重置Arduino的伪随机数生成器。

randomSeed(analogRead(5)); //使用来自模拟引脚 5 的噪声随机化

random()

随机函数生成伪随机数。以下是语法。

long random(max) //它生成从 0 到最大值的随机数
long random(min, max) //它生成从 min 到 max 的随机数

random示例

long randNumber;

void setup() { Serial.begin(9600); //如果模拟输入引脚 0 未连接,则随机模拟 //噪声将导致调用 randomSeed() 生成 //每次运行草图时都有不同的种子编号。 //randomSeed() 然后将随机函数洗牌。 randomSeed(analogRead(0)); }

void loop() { //打印一个从 0 到 299 的随机数 Serial.print("random1="); randNumber=random(300); Serial.println(randNumber); //打印一个从 0 到 299 的随机数 Serial.print("random2="); randNumber=random(10, 20);//打印一个从 10 到 19 的随机数 Serial.println (randNumber); delay(50); }

现在让我们重新了解一些基本概念,如位和字节。

Bits位

位只是一个二进制数字。

  • 二进制系统使用两位数字,0和1。

  • 类似于十进制数字系统,在该系统中,数字的位数没有相同的值,位的"重要性"取决于其在二进制数中的位置。

Bits

Bytes字节

一个字节由八位组成。

  • 如果位是数字,则字节表示数字是合理的。

  • 所有数学运算都可以对其执行。

  • 字节中的数字也没有相同的意义。

  • 最左边的位具有最大值,称为最高有效位(MSB)。

  • 最右边的位具有最小的值,因此被称为最低有效位(LSB)。

  • 一个字节可以代表的最大十进制数为255。

参考链接

www.learnfk.com/arduino/ard…