[H8-ML(3304)] Re: 割込みによるシリアル通信について
From: suzuki@xxxxxxxxxx (鈴木 政之)
Date: 2003年05月27日(火)16時28分21秒
鈴木(正)様
返事が遅くなりまして申し訳ありません。
ご回答ありがとうございました。

ご指摘のこと良く分かりましたのですが?・・。
割り込み受信のところを以下のように変更してみました。

/* SCI0から割込みで1文字受信する***************************/
interrupt void RXI0_Interrupt(void) {
	SCI0.SSR.BYTE &= ~(0x40);	/* RDRFフラグをクリア */
	if (rx_phase == 2) {
		return;			/* 受信データ処理中なら無視 */
	}
	else {
		RXBUF[rx_len++] = SCI0.RDR;	/* バッファへの書き込み */
		rx_phase = 1;			/* 受信データがあるよん */
	}
}
当然のことながら、1文字のみの割り込み受信が正常にできました。
さて、
>受信割り込みは、あくまでも1文字を受信することが基本です。
と、理解いたしましたが、では、
>>RXBUF[rx_len++] = SCI0.RDR;             /* バッファへの書き込み */
等によるバッファへの蓄積ルーチンは、どこに記述するのが正しいのでしょうか
実は、ここがよく分かっていないポイントなのです。
(メインルーチンの中??・・・・)

お手数をおかけ致しますが、もう一手、ご教授いただけましたら
幸いに存じます。(鈴木)

--- とりあえず、リングバッファは、保留して置いてください。---

----
鈴木 政之  suzuki@xxxxxxxxxx

スレッド概略
[3288(R)](起点)
 └[3292(U)]
   └[表示中]
     └[3307(1)]


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


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