2

USB COM ポート経由で通信するために C# の SerialPort クラスを使用しています。SerialPort は正常に開き、例外が発生するまで正常に動作します。アプリケーションからポートを使用しようとすると例外が発生した後、「ポート 'COM6' が存在しません」という別の例外が発生します。アプリケーションを閉じたり、Visual Studio を再起動したりした後も例外が発生し続けます。ポートを元に戻す唯一の方法は、コンピューターを再起動することです。

誰かがこの問題を見て、それを回避する方法を知っていますか? これをもっと丈夫にする必要があります。

4

1 に答える 1

0

通常、この種の問題は、USB からシリアルへのドライバーが例外を処理するように正しく記述されていないために発生します。

マシンを再起動するのではなく、プラグを抜き差ししてみてください (数秒後)。これにより、前のインスタンスがアンロードされる可能性があり、プラグインすると、関連するドライバーが再度読み込まれます。

これにより、デバイス マネージャーで com 番号 (この場合は Com6) が列挙されます。

次のリンクにあるように、「devcon.exe」を使用して USB 接続を再起動する方法があります。

http://digital.ni.com/public.nsf/allkb/1D120A90884C25AF862573A700602459

コンソール アプリケーションに統合し、マシンを再起動せずに USBTOSerial を再接続できます。

于 2014-07-08T08:40:30.097 に答える