- 締切済み
CreateFile関数でCOMポートが開けない
以下の手順でCOMポートをオープンすると、(4)のCOMオープンが必ず失敗します。 GetLastError関数でエラーコードを取得するとERROR_FILE_NOT_FOUNDが返ってきました。 心優しい方、(4)のCOMオープンを成功させる方法を教えていただけないでしょうか? (1)CreateFile関数でCOMポートをオープンし、オープン中にUSBを抜き差しする。 (2)PurgeComm関数で送受信バッファをクリア (3)CloseHandle関数でCOMポートのハンドルをクローズ (4)CreateFile関数でCOMポートを再度オープン←NG 以上、どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nak777r
- ベストアンサー率36% (49/136)
回答No.1
USB接続タイプのCOMポートの場合、USBを抜けば COMは当然認識しなくなり、 さすと、”しばらくして”ドライバが認識してCOMポートが使えるようになりますよね その、しばらくして の部分はどのように処理されているのですか?
補足
ご回答ありがとうございます!! デバッグモードでしていた時は(4)のCOMポートオープン前で止め、デバイスマネージャで再度認識されたことを確認してからオープンしていました。 それでも同じエラーになりました。 普通に実行すると確かに"しばらくして"の間にCOMポートオープンしようとして失敗することもありえますね…気付きませんでした。