会社を辞めた別のプログラマーから継承したコードに奇妙な問題があり、それを解決する方法についてもガイダンスが必要です。
問題はこれです。半定期的に、重複した USB 仮想通信ポートが作成されていることがわかっています。たとえば、私の PC では、デバイス マネージャーでポートを表示し、[非表示のデバイスの表示] を選択すると、同じデバイスに対して 2 つのエントリが表示されます。1 つは COM6 に、もう 1 つは COM8 にあります。
残念ながら、問題を確実に再現することはできません。ソフトウェアの実行中に誰かが USB ケーブルを素早く取り外して再接続した場合に発生する可能性があると思われますが、確認する必要があります。
私が知る限り、コードは誰もケーブルを抜かないことを想定して書かれています。SW が開始された後にこの状態を検出するロジックはまったくありません。また、ケーブルを再接続すると失敗します。ケーブルを再接続した後でも、読み取りエラーと書き込みエラーが静かに生成されます。再度機能させるには、プログラムを再起動する必要があります。
私はシリアルと USB の経験がほとんどなく、これを修正する方法についても少し途方に暮れています。
なぜこれが起こっているのか誰にも示唆できますか?
その他 関連する可能性がある場合の詳細:
USB シリアル コードは C++ DLL 内にあります
VS2008
FTDIBUS USB/シリアルドライバー
Windows XP および Win7
重複するレジストリ エントリのスクリーン ショット (選択したキーの値に注意してください!)