mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
/*
|
|
Basic Ticker usage
|
|
|
|
Ticker is an object that will call a given function with a certain period.
|
|
Each Ticker calls one function. You can have as many Tickers as you like,
|
|
memory being the only limitation.
|
|
|
|
A function may be attached to a ticker and detached from the ticker.
|
|
There are two variants of the attach function: attach and attach_ms.
|
|
The first one takes period in seconds, the second one in milliseconds.
|
|
|
|
The built-in LED will be blinking.
|
|
*/
|
|
|
|
#include <Ticker.h>
|
|
|
|
Ticker flipper;
|
|
|
|
int count = 0;
|
|
|
|
void flip() {
|
|
int state = digitalRead(LED_BUILTIN); // get the current state of GPIO1 pin
|
|
digitalWrite(LED_BUILTIN, !state); // set pin to the opposite state
|
|
|
|
++count;
|
|
// when the counter reaches a certain value, start blinking like crazy
|
|
if (count == 20) {
|
|
flipper.attach(0.1, flip);
|
|
}
|
|
// when the counter reaches yet another value, stop blinking
|
|
else if (count == 120) {
|
|
flipper.detach();
|
|
}
|
|
}
|
|
|
|
void setup() {
|
|
pinMode(LED_BUILTIN, OUTPUT);
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
|
|
// flip the pin every 0.3s
|
|
flipper.attach(0.3, flip);
|
|
}
|
|
|
|
void loop() {
|
|
}
|