[H8-ML(2100)] 割り込みについて
From: "Masato Watanabe" <masa@xxxxxxxxxxxxxxx>
Date: 2002年07月29日(月)20時02分53秒
度々お世話になっていますMattです。

今、シリアル通信によるコマンドにより動くマシンを作っています。
マシンはステッピングモータを使用しているため、シリアル通信
受信後、割り込みを使用して、ステッピングモータ用パルスを割り
込みを使用して発信させています。ここで割り込みを使用したパル
スの発信がうまくいきません。環境はベストテクノロジーのDeveloper
 Liteを,割り込み処理プログラムとしてvoid int_imia1(void)関数を
使用しています。

1.、”ITU.TSTR.BIT.STR1 = の値を0か1にすれば、カウンター
  が停止するため割り込みは起こらないのでしょうか。

2.EIとDIの使い方がよくわかりません。EIを使用すると割り込み
  動作が許可され、DIを使用すると割り込み動作が不許可になった
  場合のITUのカウンターは停止するのでしょうか。

3.ITU.TSTR.BIT.STR1 = 1;とEI;
  ITU.TSTR.BIT.STR1 = 0;とDI
   のプログラム上の前後関係はあるのでしょうか。

while(1)
{
    rcv_result = get_cmd(cmd_data);    /*コマンド受信 */


ITU.TSTR.BIT.STR1 = 1; /* カウント動作状態 */
 EI;

 while(cnt_i!=0){ パルス発信プログラム

 }

  ITU.TSTR.BIT.STR1 = 0; /* カウント停止状態 */
 DI;

}

void int_imia1(void)
{ 
パルス発振プログラム
}

不明瞭な文章で申し訳ありませんがよろしくご教授お願いします。

スレッド概略
[表示中](起点)
 ├[2103(1)]
 └[2108(2)]


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


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