ItimerState()는 기본 또는 지정한 콜백 타이머의 실행 상태를 반환합니다.
bool ItimerState()
bool ItimerState(uint8_t timerNumber)
| 명령어 | 인수 | 반환값 | 동작 |
|---|---|---|---|
ItimerState() | 없음 | bool | 기본 또는 지정한 콜백 타이머의 실행 상태를 반환합니다. |
기본 콜백 타이머(Timer2)를 사용합니다. 콜백에서는 플래그만 바꾸고 시리얼 출력은 loop()에서 수행합니다.
void onTimer() {} void setup() { Serial.begin(115200); if (!ItimerSet(1000, onTimer)) return; // 콜백과 주기를 먼저 설정해야 합니다. ItimerStart(); // 설정한 콜백 타이머를 실행합니다. } void loop() { static unsigned long lastPrint = 0; static bool stopped = false; if (!stopped && millis() >= 3000) { ItimerStop(); // 5초가 지나면 기본 콜백 타이머를 정지합니다. stopped = true; } if (millis() - lastPrint >= 1000) { lastPrint = millis(); const bool running = ItimerState(); // 기본 콜백 타이머가 실행 중인지 확인합니다. Serial.println(running ? F("running") : F("stopped")); } }
delay()·Serial·I2C·SPI를 사용하지 마십시오.tone()이나 PWM 출력과 동시에 사용하지 마십시오.