タイトル : Re^6: 応答なし、約1分後に回復 投稿日 : 2012/08/15(Wed) 13:06 投稿者 : 南向秀樹
オショウ様 回答ありがとうございます。 >.Output = ... >で、出力命令を実行し、直後に >.Portopen = False >として、ポートをクローズすると、直前の出力命令が終わらないうち >にポートが閉じられ、正しく通信が行われない場合があります。 →本日のテストで、クローズの前に時間がかかっていたことがありました。 >よって、都度、Open/Close したい場合は、送信バッファの内容が空 >になった(出力を終えた)か確認してから閉じるか・・・ >フォームのLoad時にポートをOpenし、フォームを閉じる際にCloseす >る方が無難。 →都度、オープンクローズする必要はなく、たまたま見たサンプルから ソースを取ったので、Form_Load時にオープン、Unload時にクローズへ 変えて見ます。 >ただし、シリアル通信での出力直後にフォームを閉じる動作を行うと >結局同様の問題が出る可能性があるので、送信バッファの監視を行い >必ず空になったら次動作を行う流れとして下さい。 いろいろありがとうございました。 試した結果を改めて報告いたします。 |