ハードウェアタイマ
シリコンに刻み込まれたカウンタ。CPU が何で忙しかろうと、クロックに合わせて黙々と数え続ける。
中心にあるのは、クロック1パルスごとに加算されるカウンタレジスタで、多くはプリスケーラで周波数を落としてから使う。カウント値が比較値に達するか一周すると、タイマは割り込みを発生させたり、自分をリセットしたり、出力ピンを反転させたりできる。この部品の組み合わせだけで、周期割り込み、PWM、インプットキャプチャによるパルス幅の測定、アウトプットコンペアによる正確なタイミング窓が得られる。
要点は、タイミングが割り込みレイテンシや実行中のコードに左右されないことだ。C の遅延ループはコンパイラのオプションで変わるが、タイマは変わらない。典型的な STM32 には幅の異なるタイマが十数個載っているが、プロジェクトの終盤に空きが残っていることはまずない。