我正在编写一个记录和打印数字和模拟输入的程序。不幸的是,arduino的内存不足。为了使程序更小,我试图使用for循环打印输入。我一直在努力:
for(int analog = analog0; analog <= analog9; analog ++){
Serial.println(analog);
}
当我运行arduino时,它并不总是打印出所有输入,有时它打印出一个或一个或两个,最多约16个输入(我只有10个接线)。每次循环运行时,它都会输出不同的输入量。有什么建议吗?
答案 0 :(得分:2)
我对arduino一无所知,但如果analog0
是模拟值的读数,那么当然这段代码不会起作用。 analog
的值将是随机ADC值!也许你需要做
for(int i = 0; i<= 9; i++){
Serial.println(analogRead(i));
}
答案 1 :(得分:1)
首先,你的for循环编码错误。
另外,尝试在loop()之外存储模拟int:
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]);
}
}