내용으로 건너뛰기
ILOGICS 제품 사용설명서
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
commands:reference:itimerset
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== ItimerSet() ====== ''ItimerSet()''는 주기와 콜백 함수 또는 사용할 하드웨어 타이머를 설정합니다. {{:commands:reference:itimerset.svg?900|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()''에서 수행합니다. <code cpp> 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")); } } </code> ===== 주의사항 ===== * 콜백은 인터럽트에서 실행됩니다. 콜백 안에서는 플래그만 바꾸고 ''delay()''·''Serial''·I2C·SPI를 사용하지 않아야 합니다. * 인수를 생략한 콜백 타이머는 Timer2를 사용합니다. 같은 타이머를 쓰는 ''tone()''이나 PWM 출력과 동시에 사용하지 않아야 합니다. * 다른 하드웨어 타이머를 지정할 때도 PWM·아날로그 출력·고속카운터 기능과 타이머가 중복되는지 확인해주시기 바랍니다. * 주기가 0이거나 콜백이 없으면 설정에 실패하고 false를 반환합니다. ===== 같은 카테고리의 내장 명령어 ===== * [[commands:reference:itimerstart|ItimerStart() 상세 설명 보기]] * [[commands:reference:itimerstop|ItimerStop() 상세 설명 보기]] * [[commands:reference:itimerstopall|ItimerStopAll() 상세 설명 보기]] * [[commands:reference:itimerstate|ItimerState() 상세 설명 보기]] [[commands:builtin|← 내장 명령어 리스트]]
commands/reference/itimerset.txt
· 마지막으로 수정됨:
2026/10/25 11:33
저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로