>ITUでルス幅を読み取る場合、インプットキャプチャ割り込み を用いるのが一般的ですが、センサの繰り返し周期を数Khzに するとCPUは頻繁に割り込みを処理しなければならず、他の処 理に悪影響を及ぼす可能性があります。全体のプログラムのバ ランスと加速度センサの使用目的等を良く考えて、必要以上に 周期を短くしないようにご注意下さい。 インプットキャプチャを使ってADXLの出力をH8に取りこみ、計 測するためのプログラムを作ってみました。で、出力波形をシ ンクロスコープで確認したいのですが、何も波形が出てきませ ん。プログラムを1行ずつ丹念に調べてもおかしいところはな かったように思えたのですが。そのプログラムとスタートアッ プル−チンプログラムを載せます。プログラムが見にくくなっ てすみません。 *プログラム #include <3048f.h> extern unsigned int cnt0; /* 信号 のHighの時間を記憶 */ void main(void) { cnt0 = 0; /* cnt0 初期化 */ PA.DDR = 0x00; /* Port-A は入力設定 */ PB.DDR = 0x01; /* Port-B BIT0 は出力設定 */ ITU.TSTR.BYTE = 0x00; /* ひとまず全タイマー停止 */ ITU.TSNC.BYTE = 0x00; /* 全タイマーは独立動作 */ ITU.TMDR.BYTE = 0x00; /* ITUはすべて通常動作 */ ITU.TFCR.BYTE = 0x00; /* ITU3,4およびGRA3,4,GRB3,4 は通常動作 */ ITU.TOER.BYTE = 0x00; /* ITU3,4による端子出力は 禁止 */ ITU.TOCR.BYTE = 0xff; /* 外部トリガ禁止 */ ITU0.TCR.BYTE = 0x83; /* クロックの1/8で動作。TCNT のクリア禁止 */ ITU0.TIOR.BYTE = 0xdf; /* 両エッジでGRAへインフ ゜ットキャプチャ */ ITU0.TIER.BYTE = 0x03; /* IMFA,IMFBによる割り込 み許可 OVIE禁止 */ ITU0.TSR.BYTE = 0x00; /* 全割り込みフラグクリア */ ITU0.TCNT = 0x00; /* カウントクリア */ ITU0.GRA = 0; /* GRA初期値設定 */ ITU.TSTR.BIT.STR0 = 1; /* ITU0スタート */ while(1){ if(PA.DR.BIT.B2){ /* 立ち上がりエッジの場合 */ ITU0.TCNT = 0x00; } /* カウントをクリア */ else{ /* 立ち下がりエッジの場合 */ cnt0 = ITU0.GRA; /* 値をcnt0に記憶 */ } ITU0.TSR.BIT.IMFA = 0; PB.DR.BIT.B0 = PA.DR.BYTE; /* 割り込みフラグ解除 */ } } このプログラムでは、ITUはTIOCA1だけを使い、また、割り込 み処理をメイン関数の中で行っています。割り込みはメイン関 数でも出来るのでしょうか? *スタートアップルーチン;STARTUP ROUTINE H8/300H ; .cpu 300ha:20 ;H8/300H advanced 1Mbyte MODE .import _main ;外部関数mainを定義 .export _cnt0 ;グローバル変数cnt0を定義 ; .section vect,data,locate=h'00000 ;割込みベクトルの頭 ; ;割り込みベクトルテーブル .data.l init ;1 reset vectのジャンプ先 ; .org h'0060 ;ITU0 GRAによる割込みテーブル位置 .data.l _main ;ITU0 GRAによる割込み処理先 ; .org h'00100 ;主プログラムの開始 init: mov.l #h'fff10,er7 ;SPの設定 ldc #0,ccr ;CLEAR INTERRUPT MASK,NOT USE UI BIT jmp @_main ;関数mainへのジャンプ .section D,DATA,locate=h'ffd00 ;変数用アドレス _cnt0: .res.w 1 ;cnt0変数のアドレスを確保 ; .end 何がいけないのか、また、どこをどう書きなおせばいいか具体 的に説明してくださると有難いです。ものすごく長い文になり ましたが、よろしくお願いします。 __________________________________________________ Do You Yahoo!? Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/