Skip to content
Merged
11 changes: 7 additions & 4 deletions libraries/Ticker/examples/Arguments/Arguments.ino
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,22 @@
Ticker tickerSetHigh;
Ticker tickerSetLow;

void setPin(int state) {
digitalWrite(LED_PIN, state);
// Argument to callback must always be passed a reference
void setPin(int *state) {
digitalWrite(LED_PIN, *state);
}

void setup() {
pinMode(LED_PIN, OUTPUT);
digitalWrite(1, LOW);

// every 25 ms, call setPin(0)
tickerSetLow.attach_ms(25, setPin, 0);
int state = 0;
tickerSetLow.attach_ms(25, setPin, &state);

// every 26 ms, call setPin(1)
tickerSetHigh.attach_ms(26, setPin, 1);
state = 1;
tickerSetHigh.attach_ms(26, setPin, &state);
}

void loop() {
Expand Down