Arduino仅在代码的一部分中延迟

时间:2013-04-20 19:51:03

标签: c++ arduino delay fade

您好我是stackoverflow的新手。我有一个问题

    if (brightness2 == 0 || brightness2 == 255) {
    fadeAmount2 = -fadeAmount2 ; 
  }  
  // wait for 30 milliseconds to see the dimming effect    
  delay(30);

Serial.println((byte)tempC);   
  delay(1000);

第二个延迟影响第一个延迟,而led衰减则慢得多。 我的问题是如何将延迟仅应用于代码的一部分而另一部分应用于另一部分。 希望你明白我的意思。提前谢谢。

2 个答案:

答案 0 :(得分:1)

你做不到。但你可以数到33:

static int cnt = 0;

if (brightness2 == 0 || brightness2 == 255) {
    fadeAmount2 = -fadeAmount2 ; 
}

delay(30);
cnt = (cnt + 1) % 33;
if (cnt == 0) {
    Serial.println((byte)tempC);
}

这将使褪色工作与以前一样快,打印将在990毫秒内每次闪光一次。

答案 1 :(得分:0)

在示例中,02。数字,有一个没有延迟的例子。您应该能够修改它以适合您的应用程序。