[H8-ML(3287)] Re: 割込みによるシリアル通信について
From: suzuki@xxxxxxxxxx (鈴木 政之)
Date: 2003年05月26日(月)12時23分26秒
鈴木です。
hamayan様、ご丁重な返事を頂きまして
大変ありがとうございます。

先ほど、ひやした様からも暖かいご支援をいただいて
おりまして、もう一度、改めて全体を見直してみます。

また、新しいコーディングができましたら、投稿致しますので
今後ともよろしく、お願い申し上げます。



hamayan さんは書きました:
>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★★★★★★★
>

----
鈴木 政之  suzuki@xxxxxxxxxx

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


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


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