목차

ItimerSet()

ItimerSet()는 주기와 콜백 함수 또는 사용할 하드웨어 타이머를 설정합니다.

ItimerSet 명령어 동작 흐름

bool ItimerSet(unsigned long intervalMs, void (*callback)())
bool ItimerSet(uint8_t timerNumber, unsigned long intervalMs, void (*callback)())

명령어

명령어 인수 반환값 동작
ItimerSet(intervalMs, callback) unsigned long intervalMs — 콜백 실행 주기. 단위는 ms. 0은 사용할 수 없음
void (*callback)() — 주기마다 실행할 void 함수명() 형태의 함수
bool 주기와 콜백 함수 또는 사용할 하드웨어 타이머를 설정합니다.

예제

기본 콜백 타이머(Timer2)를 사용합니다. 콜백에서는 플래그만 바꾸고 시리얼 출력은 loop()에서 수행합니다.

volatile bool tick = false;
 
void onTimer() {
  tick = true;
}
 
void setup() {
  Serial.begin(115200);
  if (!ItimerSet(1000, onTimer)) return;  // 기본 하드웨어 타이머의 콜백과 1초 주기를 설정합니다.
  ItimerStart();  // 설정한 콜백 타이머를 실행합니다.
}
 
void loop() {
  if (tick) {
    noInterrupts();
    tick = false;
    interrupts();
    Serial.println(F("tick"));
  }
}

주의사항

같은 카테고리의 내장 명령어

← 내장 명령어 리스트