我具有以下功能,其中包含for循环。该代码在Arduino上运行,并且Serial.print
函数显示该函数已使用正确的输入值正确输入。但是没有输入for循环。有谁知道为什么?
void openvalveCold(int steps){
Serial.println(steps);
// Steps is confimed to be 200.
digitalWrite(sleep1,HIGH);
for (antalsteg = 0; antalsteg == steps; antalsteg++)
{
Serial.println("2");
//digitalWrite(dir1,HIGH);
digitalWrite(stepp1,HIGH);
delay(25);
digitalWrite(stepp1,LOW);
delay(25);
Serial.println(antalsteg);
nr_of_steps_cold++;
}
}
void loop{
// calling on function
openvalveCold(200);
}
答案 0 :(得分:4)
for循环通常是这样构造的:
for(init counter; condition; increase counter)
您已经做出了(false)假设,它会循环直到条件为true。错了它会在循环时显示,这是真的。更改为:
for (antalsteg = 0; antalsteg < steps; antalsteg++)
答案 1 :(得分:3)
未输入循环,因为循环开始时条件为假:
for (antalsteg = 0; antalsteg == steps; antalsteg++)
第一次评估循环的条件时,antalsteg
为0,steps
为200。因此,antalsteg == steps
评估为0 == 200
,这是错误的。因此永远不会进入循环。