====== Itmr() ====== ''Itmr()''은 입력이 ON인 시간을 누적하고 ''reset'' 입력으로 누적 시간을 초기화합니다. {{:commands:reference:itmr.svg?900|Itmr 명령어 동작 흐름}} ''bool Itmr(uint8_t timer_id, bool state, unsigned long delayTime, bool reset = false)'' ===== 명령어 ===== ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^ | ''Itmr(timer_id, state, delayTime, reset)'' | ''uint8_t timer_id'' — 타이머 번호. ''0'' ~ ''255'' 범위에서 사용 가능\\ ''bool state'' — 타이머 입력 상태\\ ''unsigned long delayTime'' — 설정 시간. 단위는 ms\\ ''bool reset = false'' — ''Itmr'' 적산값 초기화 | ''bool'' | 입력이 ON인 시간을 누적하고 ''reset'' 입력으로 누적 시간을 초기화합니다. | ===== 예제 ===== MPINO-8A4R(T)-S 보드를 선택한 예제입니다. ''P0'' 입력과 ''P32'' 출력을 사용합니다. ''loop()''를 막지 않고 매번 명령어를 호출합니다. ''P0''이 ON인 시간을 합산해 3초가 되면 ''P32''를 켭니다. ''P0''이 OFF여도 누적시간은 유지되며 ''P1''이 ON이면 초기화합니다. const uint8_t RUN_INPUT = 0; const uint8_t RESET_INPUT = 1; const uint8_t OUTPUT_PIN = 32; void setup() {} void loop() { const bool run = digitalRead(RUN_INPUT) == HIGH; const bool reset = digitalRead(RESET_INPUT) == HIGH; const bool elapsed = Itmr(0, run, 3000, reset); // 입력이 ON인 시간만 누적하고 reset이 true이면 초기화합니다. digitalWrite(OUTPUT_PIN, elapsed ? HIGH : LOW); } ===== 주의사항 ===== * 타이머 명령어는 ''loop()''에서 반복 호출해야 시간이 경과하고 입력 OFF도 반영됩니다. * 같은 ''timer_id''를 다른 타이머 동작과 공유하면 상태가 섞입니다. 동작마다 다른 번호를 사용하십시오. * ''reset''이 true이면 누적시간과 완료 상태가 초기화됩니다. ===== 같은 카테고리의 내장 명령어 ===== * [[commands:reference:iton|Iton() 상세 설명 보기]] * [[commands:reference:itof|Itof() 상세 설명 보기]] * [[commands:reference:itpl|Itpl() 상세 설명 보기]] * [[commands:reference:itmon|Itmon() 상세 설명 보기]] [[commands:builtin|← 내장 명령어 리스트]]