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ビット現在カウンタ読み取り関数として解釈しないでください。