en-us_commands:reference:iton
This is an old revision of the document!
Table of Contents
Iton()
Iton() (On Delay Timer) returns true only after the condition has remained ON for a specified time.
bool Iton(uint8_t timer_id, bool state, unsigned long delayTime)
Commands
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
Iton(timer_id, state, delayTime) | uint8_t timer_id — Timer number. Supports 0 ~ 255bool state — Timer input stateunsigned long delayTime — Preset time in ms | bool | (On Delay Timer) returns true only after the condition has remained ON for a specified time. |
Example
void loop() { bool run = digitalRead(0); if (Iton(40, run, 1000)) { digitalWrite(13, HIGH); } else { digitalWrite(13, LOW); } }
Precautions
- Timer interrupt callbacks run inside an ISR. For safety, change only flags in the callback and perform actual control processing in
loop(). - Do not use slow or interrupt-dependent code such as
delay(),Serial, I2C or SPI in callbacks. - Normally, call
ImodbusRTU()repeatedly inloop(). Call it from a timer interrupt with a sufficient interval only when longdelay()calls or debug output slow downloop(). - Do not use the default
ItimerSet()together withtone()using Timer2 oranalogWrite()on Timer2 PWM pins. - Explicitly using Timer1, Timer3, Timer4 or Timer5 may conflict with PWM, analog output or high-speed counter functions using that timer.
- Configure only one
Itimercallback per hardware timer. - Defining an ISR for the same timer directly in the sketch may conflict with
Itimeroperation. ItimerStopAll()stops only hardware interrupt timers. It does not reset PLC-style timer states such asIton,ItoforItmr.
en-us_commands/reference/iton.1788785568.txt.gz · Last modified: by 127.0.0.1
