TCNTSETUP()는 타이머 외부 클럭 입력과 32비트 확장 모드를 설정합니다.
void TCNTSETUP(uint8_t timerNumber, bool on32bit = false)
| 명령어 | 인수 | 반환값 | 동작 |
|---|---|---|---|
TCNTSETUP(timerNumber, on32bit) | uint8_t timerNumber — 제품에서 지원하는 외부 클럭 타이머 번호bool on32bit = false — false: 하드웨어 16비트 카운터만 사용. true: 오버플로 인터럽트로 상위 16비트 오버플로 횟수를 누적 | void | 타이머 외부 클럭 입력과 32비트 확장 모드를 설정합니다. |
const uint8_t COUNTER_TIMER = 1; void setup() { Serial.begin(115200); TCNTSETUP(COUNTER_TIMER, true); // 타이머 외부 클럭 입력과 32비트 확장 모드를 설정합니다. } void loop() { static uint16_t previousOverflow = 0; const uint16_t overflowCount = TCNTOUT(COUNTER_TIMER); // 32비트 확장 모드의 누적 상위 오버플로 값을 반환합니다. if (overflowCount != previousOverflow) { previousOverflow = overflowCount; Serial.println(overflowCount); } }
TCNTOUT()을 단순 16비트 현재 카운터 읽기 함수로 해석하지 않습니다.