Execute interval

Utworzono: 25 marzec 2015

// PROSTA FUNKCJA

boolean timeExecute(int interval, unsigned long currentMillis)

 /*  created 2015,  by Marcin Grunt */

{
  static unsigned long counterExeLastMillis = 0;

  if (currentMillis - counterExeLastMillis >= interval)
   {
    counterExeLastMillis = currentMillis;
    return true;
   }
return false;
}

 

/// Trochę trudniej, ale łatwiejsze do użycia

void setup() {
Serial.begin(9600);
}

void loop() {
  if (timeExecute(1,1000,millis())) { Serial.println("Wykonuje kod co sekunde"); }
  if (timeExecute(2,2000,millis())) { Serial.println("Wykonuje kod co dwie sekundy"); }
  if (timeExecute(3,3000,millis())) { Serial.println("Wykonuje kod co trzy sekundy"); }

}


boolean timeExecute(int counterNumber, int interval, unsigned long currentMillis)
{
 static unsigned long counterExeLastMillis[20];

 if (currentMillis - counterExeLastMillis[counterNumber] >= interval)
 {
  counterExeLastMillis[counterNumber] = currentMillis;
  return true;
 }
return false;
}