사용자 도구

사이트 도구


commands:reference:itimerstop

ItimerStop()

ItimerStop()는 기본 또는 지정한 콜백 타이머를 정지합니다.

ItimerStop 명령어 동작 흐름

void ItimerStop()
void ItimerStop(uint8_t timerNumber)

명령어

명령어 인수 반환값 동작
ItimerStop() 없음 void 기본 또는 지정한 콜백 타이머를 정지합니다.

예제

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

void onTimer() {}
 
void setup() {
  Serial.begin(115200);
  if (!ItimerSet(1000, onTimer)) return;  // 콜백과 주기를 먼저 설정해야 합니다.
  ItimerStart();  // 설정한 콜백 타이머를 실행합니다.
}
 
void loop() {
  static bool stopped = false;
  if (!stopped && millis() >= 5000) {
    ItimerStop();  // 5초가 지나면 기본 콜백 타이머를 정지합니다.
    stopped = true;
    Serial.println(F("timer stopped"));
  }
}

주의사항

  • 콜백은 인터럽트에서 실행됩니다. 콜백 안에서는 플래그만 바꾸고 delay()·Serial·I2C·SPI를 사용하지 마십시오.
  • 인수를 생략한 콜백 타이머는 Timer2를 사용합니다. 같은 타이머를 쓰는 tone()이나 PWM 출력과 동시에 사용하지 마십시오.
  • 다른 하드웨어 타이머를 지정할 때도 해당 타이머를 사용하는 PWM·아날로그 출력·고속카운터 기능과 중복되는지 확인하십시오.

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

commands/reference/itimerstop.txt · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki