[H8-ML(5726)] Re: H8-2212 の歩調同期シリアル通信について
From: User YBB <ytqrm969@xxxxxxxxxxx>
Date: 2005年10月24日(月)22時31分19秒
お世話になります、上田様。木村です。

> この行があると、sci2_tx実行時に、TDREが1になっていない
と思います。

削除して動作させてみましたが、変化ありませんでした。

---------------------------------------
ROMに書き込んで動作させていましたが、書き込み回数が
気になりだしため、シミューレータで動作させようと
思います。歩調同期シリアル通信はシミュレータで
対応しているでしょうか?(実際やってみると
データ送信関数内で止まります。止まる原因が
プログラムなのか、シミューレータ未対応なのか
判別できません)

よろしく御願いします。


> こんにちわ
> 
> > void init_sci2(void){
> > 	int i;
> > 	volatile unsigned char tmp;
> >
> > 	SCI2.SCR.BYTE = 0x00;	// 0000 0000		//
> 設定終わるまで送
> > 受信禁止
> > 	// スマートカードインタフェースを使用しない
> > 	SCI2.SCMR.BIT.SMIF = 0;
> > 	//シリアルモードレジスタ
> > 	SCI2.SMR.BYTE=0x00;		// 0000 0000	
> > 	// シリアルボーレートレートレジスタ
> > 	//SCI2.BRR=23;			// = N(Err rate 0% 19.2kbps)
> > 	SCI2.BRR = 47;			// = N(Err rate 0% 9600kbps)
> >
> > 	// 1bit以上待つ
> > 	for(i=0;i<50;i++);
> >
> > 	// シリアル通信ポート(Aポート)の入出力の設定
> > 	PA.DDR = 0x0A;	// 0000 1010	A1:TX A2:RX A3:LED	
> > 	SCI2.SSR.BIT.TDRE=0;		// clear(set 0) only
> writable
> >
> > 	SCI2.SCR.BYTE = 0x30;	// 0011 0000	通信を許可
> >
> > 	return;
> >
> 
> の
> >	SCI2.SSR.BIT.TDRE=0;		// clear(set 0) only
> writable
> を削除してみてください。
> SCI2.SSR.BIT.TDRE=1になる条件は、SCR(TE)=0を設定すると
きなので、
> この行があると、sci2_tx実行時に、TDREが1になっていない
と思います。
> 
> 上田
> 
> 
> 
> 
> 
スレッド概略
[5714(R)](起点)
 └[5725(U)]
   └[表示中]
     └[5727(1)]


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


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