マイコンクロックカウント取得方法

RL78G12シリーズのマイコンを仕様しており、両エッジ外部割込みINTP0で割り込み状態を取得しています。割り込みから割り込みまでのクロックカウントを取得したいのですが、マイコンクロックカウントを取得する方法というものはありますでしょうか。教えてください。

  • わわいです
    計測対象が16ビット内で収まるのが確実であるなら、カウンタがオーバーフローしたところで単純な16ビット値の差分で計測値が算出できます。

    >unsigned short型で引く計算を実施した場合、0x8000→0x7FFFになったとき数値が大きくなるからです。また、signed >short型の場合 0x0000→0xFFFFになったとき、数値が 0- 65565になるからです。
    こうはなりません。
    一度計算してみましょう
  • チョコです。
    TDRレジスタが0xFFFFでタイマのカウント周期が0x10000カウント(0xFFFF~0x0000)ならば,クリアを不要です。
    1msを24MHzでカウントすると24000カウント(0x5DC0)です。たとえば,カウント値(TCR)が0x5DB0から1msだと,
    0x0000になった後さらに0x0010カウント必要なので,0xFFFF~0xFFF0までカウントして1msとなります。
    そこで,1回目の値(0x5DB0)から2回の値(0xFFF0)を引くと,32ビットで表せば0xFFFF5DC0となります。計算
    そのものを16ビットでやれば,ボローを無視すれば,0x5DC0が得られます。
    ということで,0xFFFF~0x0000の16ビットでカウントしていれば,同じ16ビットで演算すると,補正は必要なく,
    単純に引くだけで済みます。
    どうしてもクリアしたいなら,TTレジスタでタイマを停止し,TSレジスタでカウントを開始させてください。