====== ItimerStart() ====== ''ItimerStart()''는 설정한 콜백 타이머를 시작합니다. {{:commands:reference:itimerstart.svg?900|ItimerStart 명령어 동작 흐름}} ''bool ItimerStart()''\\ ''bool ItimerStart(uint8_t timerNumber)'' ===== 명령어 ===== ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^ | ''ItimerStart()'' | 없음 | ''bool'' | 설정한 콜백 타이머를 시작합니다. | ===== 예제 ===== 기본 콜백 타이머(Timer2)를 사용합니다. 콜백에서는 플래그만 바꾸고 시리얼 출력은 ''loop()''에서 수행합니다. volatile bool tick = false; void onTimer() { tick = true; } void setup() { Serial.begin(115200); if (!ItimerSet(1000, onTimer)) return; // 콜백과 주기를 먼저 설정해야 합니다. if (!ItimerStart()) return; // 설정한 기본 콜백 타이머를 시작합니다. } void loop() { if (tick) { noInterrupts(); tick = false; interrupts(); Serial.println(F("tick")); } } ===== 주의사항 ===== * 콜백은 인터럽트에서 실행됩니다. 콜백 안에서는 플래그만 바꾸고 ''delay()''·''Serial''·I2C·SPI를 사용하지 마십시오. * 인수를 생략한 콜백 타이머는 Timer2를 사용합니다. 같은 타이머를 쓰는 ''tone()''이나 PWM 출력과 동시에 사용하지 마십시오. * 다른 하드웨어 타이머를 지정할 때도 해당 타이머를 사용하는 PWM·아날로그 출력·고속카운터 기능과 중복되는지 확인하십시오. * ''ItimerSet()''으로 먼저 설정하지 않으면 시작할 수 없고 false를 반환합니다. ===== 같은 카테고리의 내장 명령어 ===== * [[commands:reference:itimerset|ItimerSet() 상세 설명 보기]] * [[commands:reference:itimerstop|ItimerStop() 상세 설명 보기]] * [[commands:reference:itimerstopall|ItimerStopAll() 상세 설명 보기]] * [[commands:reference:itimerstate|ItimerState() 상세 설명 보기]] [[commands:builtin|← 내장 명령어 리스트]]