R8Cもかなり、色々なクラスが充実してきた、内臓デバイスの規模
が大きいと、デバイスドライバー的なクラスを十分用意するのは、大
変だけど、M1x系だと、適度な周辺デバイスなので、見通しも良く、
シンプルに作れるのが良いところだと感じている。
※RXマイコンとかだと、周辺機器が充実しすぎていて、しかも高機能
なので、実装するのもかなりボリュームが大きくなってしまう。
タイマーJは、主に、パルス出力と、周期計測、パルス幅の計測に、
適した構成のタイマーで、比較的良く使われる機能だと思う。
ルネサスの場合、この手のタイマーは、非常に構成が細かく、広い応用
範囲を網羅している。
ハードウェアマニュアルには、全体の構成が記されており、全体の構成
や設定要領を掴むのに便利です。
R8C 20MHz の場合、出力可能な周波数は、おおよそ、20Hz~10MHzくらい
になる、タイマーのダウンカウントで発生する「アンダーフロー」を
トリガーにして、フリップフロップでトグルする仕様なので、出力は、必
ずデューティ50%となり、最大クロックの1/2の周波数が最大となる。
設定レジスターは、周波数の逆数なので、高い周波数ほど、荒い設定しか
出来なくなる。
※実際には、低い周波数領域は、小数点以下の設定が可能なのだけど、
その仕様は割愛してある。