01913 01/03/05 16:31 RE:01912 シリアルポート切り替えに付い
投稿者 : もか   コメントを投稿する

> 僕のパソコンのCOM2を復活させて、モデムを2台つないでさっきテストしてみまし
>た。しかし、うまく再現しませんでした。
>
> ソースコードを追ってみた所、どうも、送信がまだ完了してない段階でreconnect
>を実行してしまうとエラーになるような気がするんですが、どんなもんでしょ?。
>
> 何か送信してすぐにreconnectすると、送信中にreconnectする可能性があるので、
>reconnectの前にsleep文を使ってしばらく間を置くようにしてみてほしいです。
>
> それでもダメならソースコードをいじってなんとかしたいと思うので、また連絡く
>ださい。
>


01914 01/03/05 16:44 RE:01912 シリアルポート切り替えに付い
投稿者 : もか   コメントを投稿する

> 僕のパソコンのCOM2を復活させて、モデムを2台つないでさっきテストしてみまし
>た。しかし、うまく再現しませんでした。
>
> ソースコードを追ってみた所、どうも、送信がまだ完了してない段階でreconnect
>を実行してしまうとエラーになるような気がするんですが、どんなもんでしょ?。
>
> 何か送信してすぐにreconnectすると、送信中にreconnectする可能性があるので、
>reconnectの前にsleep文を使ってしばらく間を置くようにしてみてほしいです。
>
> それでもダメならソースコードをいじってなんとかしたいと思うので、また連絡く
>ださい。
>
sleepを入れてみましたが、ダメでした。
下記のようなスクリプトでCOM1ではxxxという文字列を待って受信したらCOM3に戻す事をやろうとしています。
(COM1は受信のみ)

1度目のwaitはちゃんと待っていますが、2回目のwaitはしばらくすると勝手にEND迄進んでしまいます。

## スクリプト ##

reconnect COM1
sleep 5

wait"xxx"      ;COM1でxxx受信待ち

reconnect COM3
sleep 5

,,, コマンド送出

reconnect COM1
sleep 5

wait"xxx"      ;COM1でxxx受信待ち <−−ここのWaitが効かない

reconnect COM3
sleep 5

message"END"


もう一つの問題の”シリアルポートへの書き込みに失敗したので切断しました。”表示で通信が止まってしまう件ですが、送受信を頻繁に行なっている場合は問題ないのですが、COMにデバイスが無い状態や接続したまま放置(7〜8分位?)すると出ます。
お手数ですが、ご確認お願いします。


新規に投稿する