| 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分位?)すると出ます。 お手数ですが、ご確認お願いします。 |
| 新規に投稿する |