Renesas Synergy™

FAQ 1004504 : 16ビット・タイマでコンペア・レジスタに値を設定したが、予定したインターバルが得られません。

コンペア・レジスタに値をセットしたら、 その値にインターバル分のカウント値を加算した値をメモリに保存しておきます。
一致割り込みが発生したら、メモリに保存しておいた値をコンペア・レジスタに書き込み、 インターバル分のカウント値を加算して、またメモリに保存します。
これを繰り返すことにより一定のインターバルの信号を得られます。
なお、コンペア・レジスタに値を書き込む際には、マニュアル等に記載された条件に従って行ってください。

<参考>
この 16ビット・タイマはフリーランのカウンタです。
従って、コンペア・レジスタに一度値を設定した場合、 その値とタイマ値が比較され一致すると一致信号が出力されますが、タイマは動作を続けます。
以降は、次に一致するのは、 タイマが一回りした後になりますのでインターバルは 16ビット分カウント毎となってしまいます。
これを避けるには、上記のようにコンペア・レジスタにセットする値をダイナミックに更新する必要がございます。

適用製品

UPD7890xx/7891xx
UPD7893xx/7894xx
UPD7898xx
他にご質問がございましたら、リクエストを送信してください