Hardware timers¶
The ESP8266 has one of these, HardwareTimer
, which can be programmed to trigger
when a pre-programmed interval has elapsed. The callback handler is executed in an
interrupt context so is restricted on what it can do.
The timer is appropriate where accurate and short timing is required.
The API for hardware (and Software timer queues timers) is identical, implemented using a
CallbackTimer
class template for best performance.
-
group
hardware_timer
Hardware callback timer.
Typedefs
-
using
HardwareTimer1
= CallbackTimer<Timer1Api<clkdiv, mode>>¶ Hardware Timer class template with selectable divider and interrupt mode.
-
using
HardwareTimer
= HardwareTimer1<>¶ Default hardware Timer class.
-
typedef HardwareTimer
Hardware_Timer
¶
Enums
-
template <hw_timer_clkdiv_t clkdiv, HardwareTimerMode mode>
classTimer1Api
: public CallbackTimerApi<Timer1Api<clkdiv, mode>>¶ - #include <HardwareTimer.h>
Class template for Timer1 API.
- Note
- Provides low-level interface for timer access
Public Types
-
template<>
usingClock
= Timer1Clock<clkdiv>¶
-
template<>
usingTickType
= uint32_t¶
-
template<>
usingTimeType
= uint32_t¶
Public Functions
-
Timer1Api
()¶
-
~Timer1Api
()¶
-
String
name
() const
-
String
toString
() const
-
operator String
() const
Public Static Functions
-
static constexpr const char *
typeName
()¶
-
static constexpr TickType
minTicks
()¶
-
static constexpr TickType
maxTicks
()¶
-
static TickType
ticks
()¶
-
static void
setCallback
(TimerCallback callback, void *arg)¶
-
static void
setInterval
(TickType interval)¶
-
static TickType
getInterval
()¶
-
static bool
isArmed
()¶
-
static void
arm
(bool repeating)¶
-
static void
disarm
()¶
-
using