【发布时间】:2015-11-06 13:03:12
【问题描述】:
我试图弄清楚如何让这个打印函数在变量所在的函数之外工作。
int altitude = 0;
void setup() {
Serial.begin(9600);
simulateAltitude();
}
void loop() {
Serial.println(altitude); // This does not work.
}
int simulateAltitude() {
int a = 0;
while ( a == 0 ) {
altitude += 1;
Serial.println(altitude); // This does work.
delay(1);
}
}
我最大的问题是 void loop() 没有从 int simulationAltitude 函数的 while 循环中获取高度值。这是在使用 C 的 Arduino UNO 微控制器板上使用的。
我知道这是一个无限循环,仅用于测试目的。
【问题讨论】:
-
int a; while(a == 0)...:未定义行为:a未初始化。 -
另外,Arduino 第一次调用
setup()一次,然后他们无限期地调用loop()。你确定那是你想要的吗?也就是说,您从不调用该函数!另外,a的目的是什么?它要么让函数完全不做任何事情,要么让一切陷入无限循环。 -
请不要更改您的问题,以使迄今为止的所有答案都毫无用处。这被认为是不好的形式:-)
-
原始问题写得不好,缺少部分代码。除了我遇到的实际问题之外,答案都找到了,对不起:(
-
好的,如果这是你的最终代码(希望如此),我已经更新了我的答案,告诉你你遇到的确切问题。