Arduino 定时器循环
Arduino Timer loop
我正在为我的 Arduino 编写一些代码,显示“定时器(从 1-100 开始计数)”然后显示“中断:b”(b 充当循环次数的占位符)它计数为 100然后打印出我的 else 语句,但它没有循环,我的 b 值一直在增加。我哪里错了?
void loop() {
int a = 0;
int b = 0;
if(a != 100){
lcd.setCursor(0,0);
lcd.print("Timer");
lcd.print("");
a++;
lcd.print(a);
delay(10);
lcd.clear();
}
else{
//
b++;
lcd.print("Interrupt");
lcd.print(b);
delay(1000);
lcd.clear();
//
//
}
}
您在 loop()
的开头定义了 a
和 b
,每次都会调用循环函数,因此您的 a
和 b
每次都被清除。可能你必须定义 then out of the loop 函数。
编辑:在我的示例中,我在 setup()
函数中声明了变量,正如评论我的答案的人所说,它仅在该函数的范围内声明了一个变量,您实际上需要在任何函数之外声明它。
int a = 0;
int b = 0;
void loop() {
if(a != 100){
lcd.setCursor(0,0);
lcd.print("Timer");
lcd.print("");
a++;
lcd.print(a);
delay(10);
lcd.clear();
}
else{
b++;
lcd.print("Interrupt");
lcd.print(b);
delay(1000);
lcd.clear();
a=0;
}
}
编辑 2:实际上,您的代码并未执行您想要的操作。它从 1 数到 100 一次,然后开始递增并打印 b
。您必须清除 else 语句中的 a
变量才能重新开始计数。我在 Tinkercad 中测试了代码,现在它似乎可以工作了。
Tinkercad 中使用的代码:
void setup()
{
Serial.begin(9600);
}
int a = 0;
int b = 0;
void loop() {
if(a != 100){
a++;
Serial.println(a);
delay(10);
}
else{
b++;
Serial.println(b);
delay(1000);
a = 0;
}
}
我正在为我的 Arduino 编写一些代码,显示“定时器(从 1-100 开始计数)”然后显示“中断:b”(b 充当循环次数的占位符)它计数为 100然后打印出我的 else 语句,但它没有循环,我的 b 值一直在增加。我哪里错了?
void loop() {
int a = 0;
int b = 0;
if(a != 100){
lcd.setCursor(0,0);
lcd.print("Timer");
lcd.print("");
a++;
lcd.print(a);
delay(10);
lcd.clear();
}
else{
//
b++;
lcd.print("Interrupt");
lcd.print(b);
delay(1000);
lcd.clear();
//
//
}
}
您在 loop()
的开头定义了 a
和 b
,每次都会调用循环函数,因此您的 a
和 b
每次都被清除。可能你必须定义 then out of the loop 函数。
编辑:在我的示例中,我在 setup()
函数中声明了变量,正如评论我的答案的人所说,它仅在该函数的范围内声明了一个变量,您实际上需要在任何函数之外声明它。
int a = 0;
int b = 0;
void loop() {
if(a != 100){
lcd.setCursor(0,0);
lcd.print("Timer");
lcd.print("");
a++;
lcd.print(a);
delay(10);
lcd.clear();
}
else{
b++;
lcd.print("Interrupt");
lcd.print(b);
delay(1000);
lcd.clear();
a=0;
}
}
编辑 2:实际上,您的代码并未执行您想要的操作。它从 1 数到 100 一次,然后开始递增并打印 b
。您必须清除 else 语句中的 a
变量才能重新开始计数。我在 Tinkercad 中测试了代码,现在它似乎可以工作了。
Tinkercad 中使用的代码:
void setup()
{
Serial.begin(9600);
}
int a = 0;
int b = 0;
void loop() {
if(a != 100){
a++;
Serial.println(a);
delay(10);
}
else{
b++;
Serial.println(b);
delay(1000);
a = 0;
}
}