• 締切済み

RS232C非同期通信初期化でエラー

通信相手の装置が500ms周期で永久的に送信していた場合、当方のパソコン を再起動して通信ソフト(WIN32API)を起動すると"CREATEFILE"でエラーが発生して接続できません。戻り値は0xFFF...FF(-1)です。 通信相手を停止した状態でパソコンを再起動して通信ソフトを起動すると 正常に接続できます。どの様に対処すれば良いのかどなたか教えて下さい。 OS:WindowsXP 通信手順は無手順、100BYTEデータ

みんなの回答

  • BIGT
  • ベストアンサー率42% (12/28)
回答No.3

定義は確か、winerror.hにあったと思います。

参考URL:
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_formatmessage.htm
gotn64
質問者

お礼

返信有難う御座います。winerror.hがありましたのでgetlasterror実行してみます。

  • BIGT
  • ベストアンサー率42% (12/28)
回答No.2

GetLastError()の戻り値を調べてみてください。

gotn64
質問者

補足

返信有難う御座います。 getlasterrorで取得したエラーコードの意味説明はどこにあるかご存知でしょうか?

  • AnalHare
  • ベストアンサー率8% (9/110)
回答No.1

>>通信相手を停止した状態でパソコンを再起動して >>通信ソフトを起動すると正常に接続できます。 これでいんじゃないの? もしこれがいやであるなら エラー処理を適切に対応させた通信プログラムを作成しないとだめです

gotn64
質問者

補足

返信有難う御座います。 通信相手の装置は運用上停止することができません。 故障か停電にならない限り停止しない通信機器です。 エラー処理は、CREATEFILE後(OPEN)でしたら知っているんですが なぜ、ハンドルが取得できないかわかりません。昔のようにシリアルコントローラ(8251)を直接イニシャルできれば簡単なんですが、Win32APIでは?です。

関連するQ&A

専門家に質問してみよう