• 締切済み

H8/2052Fインプットキャプチャ機能実装について

現在、上記のマイコンを使い0.5ms程度のパルス波の入力と波長判断を行いたいと考えています。 そこで、インプットキャプチャ機能を使用したいと考えているのですが、うまくいきません。 外部入力を得て割り込み関数を呼び出すことすらできない段階です。 何かアドバイスをいただけないでしょうか? よろしくお願いいたします。 タイマ関数初期化の手順としては、 1.TCRレジスタの設定(TIU0.TCR.BYTE = 0x03;//φ/8分周) 2.TIORレジスタの設定(TIU0.TIOR.BYTE = 0xDC;//GRB立下り、GRA立ち上がり) 3.TIERレジスタの設定(TIU0.TIER.BYTE = 0xFB;//IMFB、IMFA割り込み許可 ) 4.TNCT、GRA、GRBレジスタの初期化 5.タイマスタート となっております。よろしくお願いいたします。

みんなの回答

  • pyonmae
  • ベストアンサー率64% (40/62)
回答No.1

こんにちは。 H8/2052Fってのは見当たらなかったのですが、もしかしたらH8/3052でしょうか。 そうだとします。 でも動作環境がないので、あまり自信を持っては言えないのですが、ITUの設定自体は間違っていないように思えます。 正直、これ!といって思いつかないのですが、何となく列挙してみます。 ・大元の割り込みマスクがかかっている(結構ある) ・優先度の高い割り込みがかかりっぱになっている  上の2点は、他の割り込みがちゃんと入るようなら問題ありません。 ・信号が入っていない(以下、確認方法の案)  オシロで、マイコンの足を直接モニタする。(結線間違いの可能性があるので、コネクタ等では見ない)  無理なら一旦IOポート(PA2、PA3)として読んでみて、値が変化するか確かめる ・ITUがスタンバイモードになっている(無いと思うけど) あと、設定からすると、 パルス立ち上がり→TCNT0をGRA0 パルス立ち下がり→TCNT0をGRB0 のようにキャプチャしたいという風に見えますが、 そうだとすると、パルス波をTIOCA0とTIOCB0の両方に入れてあげる必要があると思いますが、この辺は大丈夫でしょうか。 以上、あまり自信ありませんが、ご参考になれば幸いです。

ledasimizu
質問者

お礼

pyonmaeさん 回答ありがとうございます。 ご指摘の通りマイコン名の記載を間違えました。 「H8/3052」にて作業中です。 その後、モニタ通信ソフトで動作させたところ、割り込みはかかっているようでした。 (モニタプログラムの関係で、割り込みの有無の確認して出来ていないのが現状です。) パルス波の入力ですが2ピンに同時に入力しています。 他の可能性を考えたいと思います。 丁寧な回答ありがとうございました。今後ともよろしくお願いいたします。

関連するQ&A