2009-06-04 25 views
2

シリアルポートを閉じると、現在作業中のソフトウェアがハングアップすることがあります。断続的で時間の90%はうまくいきますが、明らかに問題があります。私はctl + Alt + Breakを押すと、serial.Close()を待っていることが示されます。Serial.Close()でハングアップする可能性のあるスレッド化問題?

シリアルポートで多数のデータが入出力されていますが、これはいくつかの形式で呼び出されていますので、これはスレッドの問題ですか?

答えて

2

はい、そうかもしれません。 See this postSee also here。これは、InvokeではなくBeginInvokeを使用すると問題が解決する可能性があることを示しています。

また、USBシリアルアダプターを使用している場合は、ドライバーの問題が発生する可能性があります。これらのドライバの中には、記述が乏しいものがあり、問題が発生する可能性があります。

+0

私のすべてのモジュールのGUIコードでBeginInvokeがあまりにも怖いので、あなたが投稿したリンクから他のヒントを使いました。 私はポートを閉じる別のスレッドを生成します! – Tim