[H8-ML(3637)] Re: AKI-H8/3069Fでシリアル通信
From: Kengo Jinno <kengo@xxxxxxxxxxxx>
Date: 2003年07月15日(火)18時23分06秒
神野です。

Fri, 11 Jul 2003 16:43:17 +0900 (JST) ごろに
<4585489.1057909397062.ishida@xxxxxxxxx> の
"[H8-ML(3624)] Re: AKI-H8/3069Fでシリアル通信" のメールで
ishida@xxxxxxxxx さんは書きました。

> どうも、データを受信する際に4byte以上のものを受信しようと
> すると、プログラムが固まってしまっているようです。
> 
> 機器からの戻りデータが7byteなので、これを受信するようにル
> ープを回しているのですが、ここで7byteをゲットできないでい
> てループから抜けれなくなっています。

それだけだと、「ソフトにバグがあるんじゃない?」としか
言えないのでは…?

すべて自前で書いたものなのか、どこかのサンプルを使っているのか、
あるいはH8/OSなのか。
RXI割り込みで受信しているのか、RDRFをポーリングしているのか。
そういう前提でも無いことには。

3069Fは使ったことがなく「たぶん同じだろう」との推測ですが、
SSRのOER,FER,PERはクリアしていますか?
これらのエラーは普通ならめったに発生するものではありませんが、
一度発生してしまうとクリアしない限り以降の受信はできません。

> これは機器からのデータをH8/3069F側が受信できないというこ
> とになるのでしょうか?

機器側がデータを出しているかどうかは、H8側のRxDをオシロで
観測すればわかるでしょう。
つなぎかえれば動くんでしょうから、「出してない」ってことは
ないでしょうけど、もしかしたらH8側から機器に対して
フロー制御で「送ってくるな」と言っている可能性もあります。
# そのフロー制御をしているかどうかも不明なんですが。

>                       クロックが遅いとか、ボーレートが早す
> ぎるとかって問題になるのでしょうか?

クロック、ボーレイトが原因で誤差があるとしても、まったく受信
できなくなる可能性は低いのでは?
あるとしたら、それが原因で発生した「各種エラーをクリアしてない」
という可能性でしょうか。

-- 
神野健吾 <kengo@xxxxxxxxxxxx>
スレッド概略
[3624(R)](起点)
 └[表示中]


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


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