[H8-ML(2926)] Re: ITUのインプットキャプチャの割り込みによってエンコダ−パルスのlow幅を測定しようと
From: "Masanobu Suzuki" <signas@xxxxxxxxxxxxxxx>
Date: 2003年03月07日(金)10時35分53秒
金さん、こんにちは。

メールの設定はテキストモードの方が返信を書き易いので
変更をお願いします。
(メーリングリストの投稿の後半が意味不明の数字が添付さ
れる現象はテキストモードでないためでしょうか?)

金さん>
void int_imia1(void)
{
  ITU1.TIER.BYTE = 0xf8;    /*割り込み禁止*/
  ITU1.TSR.BYTE  = 0xf8;    /* 割り込みフラグ0 */

    /*ここから 1行くらいの割り込み処理ルーチン*/

    ITU1.TIER.BYTE = 0xfb;     /*割り込み許可*/
}

int_imia1()関数は ITU1 によって起動される割り込み関数と
思います。

その入口と出口で ITU1 の割り込みを禁止、解除されていま
すが、これは特に必要ないように思います。
私の場合は、割り込みの先頭で割り込みフラグを読んで、0
をライトしているだけです。

特に気になるのが、最後のITU1の割り込み許可の行です。

もし、この行の後ろに他の処理があると、この時点でITU1は
自分のインプットキャプチャ割り込みを受け付ける状態にな
っていますから、自分自身の多重割り込みによってループす
る可能性があるように思います。(インプットキャプチャの周
期が非常に短い場合)

この割り込みの議論は最近の投稿でもありましたが、外して
いるかも知れません。その時はご容赦下さい。

PS.
日立HEWなどでは、割り込み関数と普通の関数との区別は
ないんでしょうか?

鈴木(正)

スレッド概略
[2923(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]