01922 01/03/30 14:37 RE:01916 シリアルポート切り替えに付い
投稿者 : もか   コメントを投稿する

> 説明不足な点があったようです。reconnectしてからsleepしてほしいんじゃなくて、
>sleepしてからreconnectしてほしいです。
>
>    sleep 5
>    reconnect COM1
>
> ってな具合です。そうすれば送信が完了してから切り替わると思います。

返事が遅くなりましたが、出来ました!

>
>> 送受信を頻繁に行なっている場合は問題ないの
>> ですが、COMにデバイスが無い状態や接続したまま放置(7〜8分位?)すると出ます
>
> reconnectする先のポートにデバイスがつながってない状態でそのエラーが出るの
>は仕様です。reconnectしなくても、デバイスのつながってないポートに対して何か
>送信すれば、1分くらい経過してからエラーが出るはずです。
>
> デバイスがつながってないポートにconnectすることもreconnectすることも絶対さ
>けてください。
>
> 接続したまま放置すると出るというのも、たぶんそういうデバイスのつながってな
>いポートに一度reconnectしたがために、そのポートへの書き込みがタイムアウトに
>なるのを待ってエラーになっているんだと思います。
>

ちょっと変わった使い方をしようとしていてCOM1には双方向の通信がされるデバイスが接続されますが、もう一つのCOM3には片方向(秀タームから見ると受信のみ)で更にボーレートの違う設定で文字化けするコードをWaitするいう変な事をしようとしています。(秀タームとCOM1は38400でCOM3は9600)

reconnect COM3 <-- 9600 の受信のみ
wait"xxx"                     <--  ここの待ち時間が長いとエラーに!
reconnect COM1 <--> 38400双方向

だからエラーが出る事があるのでしょうか?

ボーレートを合わせる事が出来れば問題無いのかな?
可能でしたらオプションで "reconnect COM 3 9600"とかで可変出来ると有り難いのですが?
対応可能でしょうか?
それとも送受信可能なデバイスでないとダメなのでしょうか?
お手数ですが、アドバイスお願いします。



01923 01/03/30 15:21 RE:01922 シリアルポート切り替えに付い
投稿者 : 秀まるお2   コメントを投稿する

 お久しぶりです。(^^;

> ちょっと変わった使い方をしようとしていてCOM1には双方向の通信がされるデバイス
> が接続されますが、もう一つのCOM3には片方向(秀タームから見ると受信のみ)で更
> にボーレートの違う設定で文字化けするコードをWaitするいう変な事をしようとして
> います。(秀タームとCOM1は38400でCOM3は9600)

 何も送信しなければ大丈夫かもしれませんが、何か送信したならエラーが出ても仕
方ないと思います。

> 可能でしたらオプションで "reconnect COM 3 9600"とかで可変出来ると有り難いの
> ですが?

 reconnectした後で、port文を使ってボーレートを変更すればいいと思います。そ
れで直るならいいですけど、直らないなら、例えば送信でエラーが起きても無視する
ような設定を別に用意するでもしないと直らないと思います。


01924 01/03/30 19:29 RE:01923 シリアルポート切り替えに付い
投稿者 : もか   コメントを投稿する

> お久しぶりです。(^^;

こちらこそ

Port文で9600<->38400の切り替えちゃんと出来ましたので、期待する文字でのWaitが出来ました。

変にEnterとか押していた事でエラーになっていたような気もします。

大丈夫そうなのでちょっと様子を見る事にしますね!

今後ともよろしくお願い致します。




>
>> ちょっと変わった使い方をしようとしていてCOM1には双方向の通信がされるデバイス
>> が接続されますが、もう一つのCOM3には片方向(秀タームから見ると受信のみ)で更
>> にボーレートの違う設定で文字化けするコードをWaitするいう変な事をしようとして
>> います。(秀タームとCOM1は38400でCOM3は9600)
>
> 何も送信しなければ大丈夫かもしれませんが、何か送信したならエラーが出ても仕
>方ないと思います。
>
>> 可能でしたらオプションで "reconnect COM 3 9600"とかで可変出来ると有り難いの
>> ですが?
>
> reconnectした後で、port文を使ってボーレートを変更すればいいと思います。そ
>れで直るならいいですけど、直らないなら、例えば送信でエラーが起きても無視する
>ような設定を別に用意するでもしないと直らないと思います。


新規に投稿する