0

我正在编写一个记录和打印数字和模拟输入的程序。不幸的是,arduino 内存不足。为了使程序更小,我尝试使用 for 循环打印输入。我一直在尝试做:

for(int analog = analog0; analog  <= analog9; analog ++){
  Serial.println(analog);
}

当我运行 arduino 时,它并不总是打印出所有的输入,有时它不会打印出一个或两个,最多 16 个输入(我只有 10 个连接)。每次此循环运行时,它都会打印不同数量的输入。有什么建议么?

4

2 回答 2

2

我对arduino一无所知,但如果analog0是读取模拟值,那么这段代码当然不起作用。的值analog将是一个随机的 ADC 值!也许你需要做

for(int i = 0; i<= 9; i++){
   Serial.println(analogRead(i)); 
}
于 2013-08-28T17:42:48.627 回答
1

首先,您的 for 循环编码不正确。

另外,尝试将模拟整数存储在循环()之外:

  int analog[10];

  // etc.

  loop() {
       int x;

      analog[0] = analogRead(analogPin0);
      analog[1] = analogRead(analogPin1);
      // etc. do calcs
      // for a beginning programmer, this for loop is OK
      for (idx = 0; idx < 10; idx++) {
          serial.println(analog[idx]);
      }

}
于 2013-08-28T18:43:46.317 回答