[H8-ML(5725)] Re: H8-2212 の歩調同期シリアル通信について
From: ueda@xxxxxxxxxxxxxxxx
Date: 2005年10月24日(月)12時53分26秒
こんにちわ

> 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)](起点)
 └[5716(U)]
   └[表示中]
     └[5726(1)]


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


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