gpt4 book ai didi

c - Arduino:生成 100 个 int 随机数组导致前 10 个整数为 0

转载 作者:太空宇宙 更新时间:2023-11-03 23:25:49 26 4
gpt4 key购买 nike

我正在使用具有 32.000 字节存储空间的 Arduino UNO。在编写我的程序时,我做了一个小函数,用随机数填充一个数组。此函数使用我在脚本顶部定义的变量:

int mode1[100];

这是填充上面数组的函数。 RandomSeed 为其种子取一个数字,由 analogRead(0) 提供,其中 0 表示我的 Arduino 板上的引脚 0。

void fillArray(int aSize){
if (aSize == 100){
randomSeed(analogRead(0));
for (int i=0; i < aSize; i++){
mode1[i] = random(1, aSize);}

当我调用 fillArray 函数时,如 fillArray(100);它将生成我的整数。然后我通过这段代码在我的电脑上阅读它们:

  Serial.println("Filled array");
for (int i=0; i <= 99; i++){Serial.println((int)mode1[i]);}

一切似乎都运行良好,但我注意到我的函数将生成的前 10 个整数始终为 0。我的主要问题是我不知道如何解决这个问题,因为脚本没有给我任何错误。因此,我的问题是:该数组的前 10 个整数始终为 0 的原因是什么?

我对原因的可能解释是 AnalogRead 函数做了一些奇怪的事情(目前它在 A0 插槽中只有一个引脚,没有任何连接,应该工作。我也知道它不是存储容量,因为 32.000 字节足以在数组中存储 100 个整数,而我的脚本只有 5000 字节。

我有点卡在这上面,因为我不知道是什么导致了这个问题,我们将不胜感激任何关于这个问题的帮助。

最佳答案

我无法发表评论(信誉还不够),但是您是否检查了输出中的行数?在开始记录之前,您的代码中可能有“其他东西”发送数据。您可能希望使用“mode1[xxx]= yyy”来编写行,其中 xxx 是索引,yyy存储在索引处的值,以确保您正在查看数组内容。

关于c - Arduino:生成 100 个 int 随机数组导致前 10 个整数为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com