The following code typically loops one more time than times e.g. with 0, it loops once, with 1, it loops twice.
#define PTIME 30
void pulse(int pin, int times) {
do {
digitalWrite(pin, HIGH);
delay(PTIME);
digitalWrite(pin, LOW);
delay(PTIME);
} while (times--);
}
ADDITIONAL SUGGESTION#1: Decide whether it should loop 0 times or once, when times is set to 0; looping almost forever is probably not desired.
ADDITIONAL SUGGESTION#2: Add optional additional parameter int duration that defaults to PTIME or 30.
The following code typically loops one more time than
times
e.g. with 0, it loops once, with 1, it loops twice.ADDITIONAL SUGGESTION#1: Decide whether it should loop 0 times or once, when
times
is set to 0; looping almost forever is probably not desired. ADDITIONAL SUGGESTION#2: Add optional additional parameterint duration
that defaults toPTIME
or 30.