質問

質問者:gotn64 RS232C非同期通信初期化でエラー
困り度:
  • すぐに回答を!
通信相手の装置が500ms周期で永久的に送信していた場合、当方のパソコン
を再起動して通信ソフト(WIN32API)を起動すると"CREATEFILE"でエラーが発生して接続できません。戻り値は0xFFF...FF(-1)です。
通信相手を停止した状態でパソコンを再起動して通信ソフトを起動すると
正常に接続できます。どの様に対処すれば良いのかどなたか教えて下さい。
OS:WindowsXP
通信手順は無手順、100BYTEデータ
質問投稿日時:06/01/27 19:51
質問番号:1925348
最新から表示回答順に表示

回答

 

回答者:BIGT 定義は確か、winerror.hにあったと思います。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:06/01/28 09:07
回答番号:No.3
参考URL: http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_for...
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼返信有難う御座います。winerror.hがありましたのでgetlasterror実行してみます。

回答

 

回答者:BIGT GetLastError()の戻り値を調べてみてください。
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:06/01/27 21:50
回答番号:No.2
この回答への補足返信有難う御座います。
getlasterrorで取得したエラーコードの意味説明はどこにあるかご存知でしょうか?
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:AnalHare >>通信相手を停止した状態でパソコンを再起動して
>>通信ソフトを起動すると正常に接続できます。

これでいんじゃないの?

もしこれがいやであるなら
エラー処理を適切に対応させた通信プログラムを作成しないとだめです
種類:回答
どんな人:専門家
自信:自信あり
回答日時:06/01/27 20:06
回答番号:No.1
この回答への補足返信有難う御座います。
通信相手の装置は運用上停止することができません。
故障か停電にならない限り停止しない通信機器です。
エラー処理は、CREATEFILE後(OPEN)でしたら知っているんですが
なぜ、ハンドルが取得できないかわかりません。昔のようにシリアルコントローラ(8251)を直接イニシャルできれば簡単なんですが、Win32APIでは?です。
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示