「Arduino NanoでMHzオーダーの方形波を出力する。- Fast PWM (Mode 7) –」
の別モードのバージョン。
Clear Timer on Compare Match (CTC) Mode についてやってみる。
信号の変化を変数で制御できるモードということで眺めると、CTCというモードにもOCRAレジスタが関連していて良さそうだ。
読んでみるとこの方が仕組みが単純で、ただカウンターの値とOCRAの値とを比較するだけのようだ。
CTCモードにした場合は、出力はOC2A(D11)になるようで、下のように設定したら方形波が出た。
TCCR2B = bit (CS20);
はプリスケーラ無しで16MHzをカウントする設定。
上の例ではOCR2A=1となる。
カウントして1になるとOCR2Aに等しいのでカウンターをゼロにしてカウントを再開するとまたすぐ同じになって…。