[H8-ML(2089)] Re: SCIの受信エラー
From: "T.Higashiura 東浦 孝文" <higashi@xxxxxxxxxx>
Date: 2002年07月19日(金)13時33分14秒
東浦です。

> int main(void)
> {
>   volatile unsigned int	data;
>   ioinit();
>   while(1){
>         data=inch();
>         if(data=='\r')
>             outcrlf();
>         outch(data);    
>     }
> }
> 
> 手でキー入力する分には、うまくいきます。
> ところが、ハイパーターミナルでテキストファイル送信をすると
> 受信エラーが発生するようです。
> テキストファイルは、1行10文字の6行文字列を用意しました。
> (改行は\r\aなので、\aを読み飛ばす必要があるかも?)
> 何度転送しても、常に、同じ場所が受信エラーになっています。
> 原因は何が考えられるでしょうか?
<原因>
 受信1文字(\r)に対して3文字送信を行いますが、送信が完了する
 まで受信処理が行われないため、パソコン側より送られて来るであ
 ろう3文字のデータを受信できずオーバーランエラーが発生してい
 ると思います。
 (多分次の行の最初の文字のデータで発生していると思います。)
 間違っていたら、他の方フォロー願います。

> また、エラー発生時の対処はどうすればいいのでしょうか?
 通信でのエラーフラグの状態をチェックしてフラグをクリアして、
 受信待ち処理に移る。
 仕様によっては、受信エラーを起こした旨を送信したり、受信エラー
 のLEDを点灯させたりしますが。。。
 で、回答は良いのでしょうか?

スレッド概略
[2087(R)](起点)
 └[表示中]


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


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