[H8-ML(3284)] Re: 割込みによるシリアル通信について
From: hamayan <hamayan@xxxxxxxxxxxxxxx>
Date: 2003年05月26日(月)12時01分01秒
hamayan です。

ループしてしまうので、例えば関数からの戻りアドレスが正しく
無い事を考えてみました。的を外しているかも知れませんので、ご了承
下さい。

suzuki> 1)エラー処理でもデータを引き取って下さい。
suzuki>  了解いたしましたが、・・・
suzuki>   すみません。どのように記述するのかの意味が理解できていません。
suzuki>   もう少しお願い申し上げます。

data = SCI0.RDR;	/* data 取り出し */
をエラー処理でもやって見て下さい。
または、switch文に入る前に入れてみるとかです。

私の場合の受信時の手順は
 c = SCI1.RDR;
 if( SCI1.SSR.BYTE & 0x38 ) SCI1.SSR.BYTE &= 0x87;
 else SCI1.SSR.BYTE &= 0xbf;
この後、受信バッファに保存

suzuki> 2)printf("1文字受信エラー\n");は、
suzuki>   最初なので、エラーが起こっても気づかないとと思いまして・・
suzuki>   ですが、はずすように致します。

デバッカーが使えるなら、ブレークポイントを張るのが容易です。
printfは処理が重い事が有るので、場合によっては、次の割り込みに間に
合わないかもしれません。

suzuki> 3)割り込み関数ですが、
suzuki>   intprg()に割り込み設定を行い、その中から
suzuki>   intrxi1()関数を呼んでおりまして、
suzuki>   この場合の割り込み設定は、どのようになるのでしょうか?

この場合は、多分大丈夫でしょう。switch文のreturn命令もintprgに戻る
だけですから。

suzuki> H8もC言語も、始めて3ヶ月位でして、お手数をおかけして
suzuki> おりますが、よろしくお願い申し上げます。

一回でも、受信の兆候が有れば、もう少しです。

------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
	hamayan@xxxxxxxxxxxxxxxx
FILEを添付される場合は
	hamayan@xxxxxxxxxxxxxxx
URL
	http://www003.upp.so-net.ne.jp/hamayan/
The Embeded Protocol Engine
	http://hamayan.ddo.jp:8080/
★★★★★★★★★end of message and thank you★★★★★★★

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


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


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