[H8-ML(1101)] Re: 内蔵I/O編 2.14 ブロック転送について
From: 廣田 正孝 <mhirota@xxxxxxxxxxxxx>
Date: 2001年04月23日(月)11時17分35秒
 こんにちは。廣田@本庄です。
Kohya Gotoh wrote:

> はい、アプリケーションノート 内蔵I/O編 162ページの
> "53     DEND0   .DATA.L BLKMN"
> ってのがそれですね。
> えっと〜これは、"1ブロックをn回転送した"時に発生する
> 内部割込みですよね。

  そうです。


> ■それと、最初に書かれておられる
> "動作は保証されません"
> っていう意味が分かりません。
> 操作説明のところでは、
> "割り込みが発生するとリセットからのループに再び飛び込み"
> とも 書かれておられますよね。
> 割込みベクタ
> "53     DEND0   .DATA.L BLKMN"
> を記述しても リセット時と同様"BLKMN"に飛ぶよう
> 指定してるわけだから 同じなんじゃないでしょうか?
> (いずれにせよ使用してる割込みベクタは、明記するべきだと反省してますが)
 まだ、以前ここで説明を受けられた「割り込みベクタ」について理解されて
いないように見受けられます。
今回、DMACの終了割り込みについて説明すると、
1:DMAが終了してDMA終了割り込みが発生する。
2:CPUは「割り込みベクタの該当する割り込みベクタに書かれたデータを割り込み処理
の先頭番地として取り込み、そこに分岐する。」
と言うことです。今回、分岐する番地が「リセット処理の先頭」と同じだけで、リセット
処理と同じだからDMACの割り込みベクタを設定しなくても良いということにはなりません。
今回の後藤さんのプログラムにはDMAC用の割り込みベクタが設定されていないから、
「割り込みが発生しても、分岐先がちゃんと書いてないから何処に分岐していいか
解らない」状態になってしまうのです。 ですから「割り込み発生後の動作は保証出来
ない」のです。
サンプルプログラムはどの割り込みが発生してもみんなBLKMNに飛ぶように律儀に設定
していますよね。 
割り込み後の動作が保証できないから、なぜLEDが思ったように点灯しないかも解らない
のです。

ところで、LED1,2は個別に点灯する事を確認していますか?portAはokで、LEDportが
おかしいとの事ですが、portAの観測はオシロスコープですか?
-- 
/******************************************************************************
Name: 廣田 正孝 "Masataka Hirota"
E-mail address:  mhirota@xxxxxxxxxxxxx
                 GCD03040@xxxxxxxxxxx
******************************************************************************/

スレッド概略
[1098(R)](起点)
 └[1100(U)]
   └[表示中]
     └[1102(1)]


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


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