사용자 도구

사이트 도구


commands:reference:tcntsetup

TCNTSETUP()

TCNTSETUP()는 타이머 외부 클럭 입력과 32비트 확장 모드를 설정합니다.

TCNTSETUP 명령어 동작 흐름

void TCNTSETUP(uint8_t timerNumber, bool on32bit = false)

명령어

명령어 인수 반환값 동작
TCNTSETUP(timerNumber, on32bit) uint8_t timerNumber — 제품에서 지원하는 외부 클럭 타이머 번호
bool on32bit = falsefalse: 하드웨어 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);
  }
}

주의사항

  • 타이머 외부 클럭 방식은 MPINO-8A8R과 MPINO-16A8R8T만 지원합니다.
  • 지원 제품에서도 TCNT 단자와 타이머 번호를 제품 자료로 확인합니다.
  • TCNTOUT()을 단순 16비트 현재 카운터 읽기 함수로 해석하지 않습니다.
  • 다른 제품의 인터럽트 ISR에서는 카운트 증가 외의 작업을 하지 않습니다.

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

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki