В интернете часто вижу вот такой код:
void loop() {
mainTimer++;
if (!state) {
if ((long)mainTimer - myTimer > PERIOD) { // таймер периода
myTimer = mainTimer; // сброс таймера
}
} else {
if ((long)mainTimer - myTimer > WORK) { // таймер времени работы
myTimer = mainTimer; // сброс
}
}
}
Зачем так писать, чем плоха классика?
void loop() {
mainTimer++;
if (!state) {
if ((long)mainTimer > PERIOD) { // таймер периода
mainTimer = 0; // сброс таймера
}
} else {
if ((long)mainTimer > WORK) { // таймер времени работы
mainTimer = 0; // сброс
}
}
}