int i = 1;
void setup() {
Serial.begin(9600);
}
void loop() {
if(i == 1){
Serial.print(i);
}
i++;
}
这仅用于打印i
一次的值。为什么它会永远打印1?
此代码只能正常编写i
一次:
int i = 1;
void setup() {
Serial.begin(9600);
}
void loop() {
if(i == 1){
Serial.print(i);
}
i = 2;
}
答案 0 :(得分:4)
假设在循环中调用loop()
:
i
将在第一个示例中溢出。
在第二个示例中,它在第一次迭代后固定为2
的值。
答案 1 :(得分:1)
您可能还想添加一些延迟,因为有时您可能会错过第一个Serial.println();
。
类似的东西:
int i = 1;
void setup() {
Serial.begin(9600);
delay(1000); //wait for one second
}
希望它有所帮助!
答案 2 :(得分:1)
如果您希望第一个示例更长时间工作。将“int”更改为“long”。
int只能存储2个字节。 -32,768到32,767。你会很快达到这个数字。 long可以存储4个字节。 -2,147,483,648至2,147,483,647。这将花费一些时间。