Arduino - 我如何将数组的值存储到临时变量?

时间:2014-11-13 11:09:31

标签: arrays arduino

我目前正在为Arduino制作一个随机数发生器,它将作为彩票。我需要六个不同的数字,所有这些都在1到50之间。我已经放在一起的代码可以很容易地实现这一点,但随机数字并不是随机的,它们有时会重复。变量存储在一个数组中而不是单独的变量,所以它不是直接(对我来说)添加说法或语句等。另外我想将它保存在While循环中而不是For循环。

非常感谢任何帮助和建议。

以下是我到目前为止编写的代码:



int counter = 0; // Counter to be incremented
int maxNum = 6;  // Max amount to increment to
int randNums[0]; // Random numbers array

void setup(){
  
  Serial.begin(9600);
  randomSeed(analogRead(0));
  delay(300);
  
}

void loop(){
  
  while(counter < maxNum){
    
    randNums[counter] = random(1,50);
    Serial.println(randNums[counter]);
    delay(500);
    counter++;
    }
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我在你的问题中看到两个部分:   - 随机性的质量   - 如何使用临时数组存储(?我不完全理解这个问题)

关于随机性的质量,您可以查看一下这个Arduino库:http://code.google.com/p/tinkerit/wiki/TrueRandom,但是,如上所述:http://www.instructables.com/id/Arduino-True-Random-Number-Generator/  这不符合NIST。虽然,我认为这是迈向良好方向的一步。

关于您的阵列问题,我看到的第一个问题是您在声明中只保留了0个项目。为什么?要么在编译时使用int randNums [6]保留内存,要么声明指向int的指针,并在执行期间使用malloc。

HTH