[H8-ML(5693)] Re: [H8-ML(5692)] Re:H8/3664のSCIについて
From: "Hiroaki KAWASHIMA" <SGP01434@xxxxxxxxx>
Date: 2005年09月25日(日)14時34分11秒
dfcmx200さん、ありがとうございます。
川島です。

①から⑤はメイン側の処理で割り込み処理ではありません。
また、割り込み処理に入れば、許可にしないかぎりシステムが割り込み
禁止のまま(NMIを除く)だと思うのですが・・・・

割り込み処理では、
Ⅰ.送信バッファ空フラグ(TDRE)が1なら、リングバッファよりデータをとりだし
て、
 送信バッファ(TDR)にセットし、TDREに0をセットする。
Ⅱ.送信するデータがなければ、送信バッファ空割り込みを禁止(TIE=0)にする。
 送信するデータがまだあれば、送信バッファ空割り込みは許可のまま。

CPUがどこへいってらっしゃるのかわかればいのですがICEがないもので・・・



> > ③送信バッファ空割り込み許可(TIE=1)にする
>
> その割り込み処理の中で
> TIE=0にして割り込み要因をリセットしないと、
> その割り込みがかかり続けているー>暴走に見える
>
> ・・・じゃないでしょうか?
>
> dfcmx200
>
> "Hiroaki KAWASHIMA" <SGP01434@xxxxxxxxx> wrote:
>
> > 澤口さま、どうもありがとうございます。
> > 川島です。
> > >
> > > Hiroaki KAWASHIMAさんの<000701c5c0c6$61a79f40$3b01a8c0@nec350>から
> > > >・どうも割り込み処理にとんだ時点で暴走しているよう
> > > まず、これを確定するのが先ですね。
> > > 実際に割り込み処理に入っているのかいないのか。
> > > 割り込み処理内容を「何もせずに戻る」にすれば暴走しなくなる
> > > のですか?
> > >
> >
> > ご指摘の通りとんだ時点というのがあいまいで、よく調べました。
> > プログラムの流れはこんな感じです。
> > ①CPUの割り込みを禁止する
> > ②リングバッファにデータをセットする
> > ③送信バッファ空割り込み許可(TIE=1)にする
> > ④CPUの割り込みを許可する
> > ⑤あとは割り込みを待ってそのなかで送信
> >
> > で、④をすると同時にどこに飛んだかわからなくなります。
> > 普通に考えると、送信バッファ空割り込み処理にはいるはずですが
> > 実際は呼ばれていないようです。
> >
> > わかりづらい文になってしまいましたがよろしくお願いします。
>
>

スレッド概略
[5689(R)](起点)
 └[5692(U)]
   └[表示中]
     ├[5694(1)]
     └[5696(2)]


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


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