- 締切済み
RS232C非同期通信初期化でエラー
通信相手の装置が500ms周期で永久的に送信していた場合、当方のパソコン を再起動して通信ソフト(WIN32API)を起動すると"CREATEFILE"でエラーが発生して接続できません。戻り値は0xFFF...FF(-1)です。 通信相手を停止した状態でパソコンを再起動して通信ソフトを起動すると 正常に接続できます。どの様に対処すれば良いのかどなたか教えて下さい。 OS:WindowsXP 通信手順は無手順、100BYTEデータ
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- BIGT
- ベストアンサー率42% (12/28)
回答No.3
定義は確か、winerror.hにあったと思います。
- BIGT
- ベストアンサー率42% (12/28)
回答No.2
GetLastError()の戻り値を調べてみてください。
質問者
補足
返信有難う御座います。 getlasterrorで取得したエラーコードの意味説明はどこにあるかご存知でしょうか?
- AnalHare
- ベストアンサー率8% (9/110)
回答No.1
>>通信相手を停止した状態でパソコンを再起動して >>通信ソフトを起動すると正常に接続できます。 これでいんじゃないの? もしこれがいやであるなら エラー処理を適切に対応させた通信プログラムを作成しないとだめです
質問者
補足
返信有難う御座います。 通信相手の装置は運用上停止することができません。 故障か停電にならない限り停止しない通信機器です。 エラー処理は、CREATEFILE後(OPEN)でしたら知っているんですが なぜ、ハンドルが取得できないかわかりません。昔のようにシリアルコントローラ(8251)を直接イニシャルできれば簡単なんですが、Win32APIでは?です。
お礼
返信有難う御座います。winerror.hがありましたのでgetlasterror実行してみます。