naka様, enomoto様 のだです。どうもコメントをありがとうございます。 ADXLのデータ取り込みに的を絞ったために話に挙げなかったのですが、 意図している動作をもう少し具体的に説明させていただきます。 実際には加速度2軸の情報とP1からP4のポートから取り込む 32bit分のI/Oの情報をサンプリング周波数100Hzで シリアルに出力し続けることを考えています。 そこで、ITU1とITU2をフリーラン状態で走らせておき、 ITU0で10msの割り込みを発生させ、そこで32bit分のI/Oデータと 一緒にITU1.GRA, ITU2.GRAの内容も送り出そうと考えました。 H8/300Hのハードウェアマニュアルの10-43ページには ITUのインプットキャプチャ機能は、単独で 入力パルスの立ち上がり、立ち下がりまたは両方をトリガーに TCNTのリセット、GRA、GRBへのTCNTの記録を行えるような 説明が見られたのですが、解釈を間違えているでしょうか? On 2004/10/26, at 10:26, naka wrote: > while(!ITU1.TSR.BIT.IMFA); >> counterx=(ITU1.GRA); > ITU1.TSR.BIT.IMFA = 0; > > (ITU2についても同様) > > が必要では? > > でも、本当はITU0の割り込みでITU1とITU2のGRAをとろうとするのが間違 > いで、ITU1とITU2のGRBインプットキャプチャ割り込みでそれそれのGRB > とGRAをとったほうがいいのではないでしょうか。 On 2004/10/26, at 11:30, H_Enomoto wrote: > enomoto です。 > 基本的には立下りのキャプチャの割り込みを使うべきと考えます。 > そして、XY独立の割り込み処理を書いたほうがいいでしょう。 > ADXL202の周期を10msに調整すればITU0は省略できます。 > ---- M.Noda tochan@xxxxxxxxxxx