For循环在Arduino程序中不闪烁LED

时间:2018-10-10 17:39:15

标签: for-loop arduino

以下代码在Arduino IDE上运行。当我为for-loop输入j时,没有错误,也没有响应(LED不闪烁)。当我删除for-loop的{​​{1}}时,程序开始响应(并且LED闪烁)。

到目前为止,这是我的代码:

j

int i; int j; int waiTtimeoff2=5000; int waitTimeOn2=1000; int ledPin2=10; int ledPin1=13; int waiTtimeOn1=1000; int waiTtimeOff1=5000; void setup() {pinMode(10,OUTPUT); pinMode(13,OUTPUT); Serial.begin(9600); } void loop() { for (i=1;i<=9;i=i+1); { Serial.println(i); digitalWrite(ledPin1,HIGH); delay(waiTtimeOn1); digitalWrite(ledPin1,LOW); delay(waiTtimeOff1); } for (j=1;j=9;j=j+1); { digitalWrite (ledPin2,HIGH); delay(waitTimeOn2); digitalWrite (ledPin2,LOW); delay(waiTtimeoff2); } } 的{​​{1}}为什么不闪烁LED?

2 个答案:

答案 0 :(得分:1)

我编辑了您的问题代码,添加了最后一个括号}

但是您的主要错误是,您正在用for-loop;关闭,将{放在开括号;之前。 for-loop在有效之前就终止了{,因此下面的} ... void loop() { for (i=1;i<=9;i=i+1); { // Wrong ';' before { Serial.println(i); digitalWrite(ledPin1,HIGH); delay(waiTtimeOn1); digitalWrite(ledPin1,LOW); delay(waiTtimeOff1); } for (j=1;j=9;j=j+1); { // Wrong ';' before { digitalWrite (ledPin2,HIGH); delay(waitTimeOn2); digitalWrite (ledPin2,LOW); delay(waiTtimeoff2); } } 块将只执行一次,而不是,如预期的那样,几次。 所以你必须改变

...
void loop() {
  for (i=1;i<=9;i=i+1) {             // Removed ';' before {
    Serial.println(i);
    digitalWrite(ledPin1,HIGH);
    delay(waiTtimeOn1);
    digitalWrite(ledPin1,LOW);
    delay(waiTtimeOff1);
  }
  for (j=1;j=9;j=j+1) {              // Removed ';' before {
    digitalWrite (ledPin2,HIGH);
    delay(waitTimeOn2);
    digitalWrite (ledPin2,LOW);
    delay(waiTtimeoff2);
  }
}    

for-loop

然后您的Table in DB CREATE TABLE ARCHIVOS ( ID NUMBER, ARCHIVO BLOB, NOMBRE VARCHAR2(150 BYTE), TIPO VARCHAR2(150 BYTE) ); 才有效。

答案 1 :(得分:-1)

您写道:

    for (j=1;j=9;j=j+1);

尝试以下方法:

    for (j=1;j<=9;j=j+1);

看起来像错字;)