Trying to do my own timer function. I was wondering if there is any other ways to make my code more efficient without the use of a library. I noticed if I only use one timer function, I wont have multiple instances of the timer. My current code works though.
unsigned long previousMillis1 = 0;
unsigned long currentMillis1 = millis();
unsigned long previousMillis2 = 0;
unsigned long currentMillis2 = millis();
unsigned long previousMillis3 = 0;
unsigned long currentMillis3 = millis();
bool timer1(int preset){
unsigned long currentMillis1 = millis();
if(currentMillis1 - previousMillis1 >= preset ){
previousMillis1 = currentMillis1;
return true;
}
else{
return false;
}
}
bool timer2(int preset){
unsigned long currentMillis2 = millis();
if(currentMillis2 - previousMillis2 >= preset ){
previousMillis2 = currentMillis2;
return true;
}
else{
return false;
}
}
bool timer3(int preset){
unsigned long currentMillis3 = millis();
if(currentMillis3 - previousMillis3 >= preset ){
previousMillis3 = currentMillis3;
return true;
}
else{
return false;
}
}
void setup() {
Serial.begin(9600);
}
void loop() {
if(timer1(1000)){Serial.println(1);}
if(timer2(2000)){Serial.println(2);}
if(timer3(3000)){Serial.println(3);}
}