[H8-ML(1100)] RE: [H8-ML(1099)] Re: 内蔵I/O編 2.14 ブロック転送について
From: "Kohya Gotoh" <hoshikage@xxxxxxxxx>
Date: 2001年04月22日(日)10時24分31秒
廣田さん、ありがとうございます。後藤です。

-----<<割愛>>-----
> > ■ポートAの0(AKI-H8 MBでは、CN1の8PIN)の出力だけ
> > 反転してしまいます。なぜでしょうか?
-----<<割愛>>-----
>  後藤さんのプログラムの割り込みベクタにはDMACからの割り込み
> 処理ベクタが書かれていませんね。 これでは割り込み条件が
> 揃った瞬間から後の動作は保証されません。
はい、アプリケーションノート 内蔵I/O編 162ページの
"53	DEND0	.DATA.L	BLKMN"
ってのがそれですね。
えっと〜これは、"1ブロックをn回転送した"時に発生する
内部割込みですよね。

-----<<割愛>>-----
> サンプルプログラムはリセットからの最初のループで初期設定し、外部要因
> からのDREQを待っています。
> DREQが発生し、CPUの知らない間にDMAが終了し、転送終了したことを告げる
> 割り込みが発生します。 割り込みが発生するとリセットからのループに
> 再び飛び込みまた初期設定して、DMA終了を待つ。
> という動作を繰り返しているのです。
-----<<割愛>>-----
■P90〜P94,PA1〜PA7に関しては、
おっしゃられてる通りの動作をしています。
ただ、PA0(AKI-H8 MBでは、CN1の8PIN)の出力だけ
下記のように変なんです。(反転してるわけじゃなかったです)
そして A0が"H"にもかかわらず LED1が消えている。

01010パターン出力時
    _______________    ____
A0               |___|       LED1  消灯
        ____     ____
A1____|   |____|   |______    LED2  消灯
        ____     ____
A2____|   |____|   |______

A3以降A1と同じ

■それと、最初に書かれておられる
"動作は保証されません"
っていう意味が分かりません。
操作説明のところでは、
"割り込みが発生するとリセットからのループに再び飛び込み"
とも 書かれておられますよね。
割込みベクタ
"53	DEND0	.DATA.L	BLKMN"
を記述しても リセット時と同様"BLKMN"に飛ぶよう
指定してるわけだから 同じなんじゃないでしょうか?
(いずれにせよ使用してる割込みベクタは、明記するべきだと反省してますが)

-----<<割愛>>-----
> という記述は感心しません。 本来1ステップで済むレジスタ設定を各ビット
-----<<割愛>>-----
そうですよね。各ビットにそれぞれコメントを付けてないと理解し難かったもので(^^ゞ
改めます。

PS 前回、開封済みメッセージの要求のチェックを外し忘れ送信してしまいました。
言ったそばから、失礼しました。

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


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


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