掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シリアル通信エラー取得 (ID:71355)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
シリアル通信を行うアプリケーションを開発しているのですが、 エラー処理について調査したのですが、自力では解決できない為、 お分かりになる方いらっしゃいましたら、どうかお力添えください。 開発環境 WindowsXP, VS2005 MFC シリアル通信アプリを作成しており、主にサーバ側(常に待ち状態)で動作しております。 起動したら常にオープンしております。 USB変換ケーブルを指して相手と接続しているのですが、 一度、USB変換ケーブルを抜いて指し直すと通信ができなくなってしまいます。 エラーがどこかで取れるかと調査したのですが、どうしても見つかりません。 ケーブルを指し直しても自動復帰するようなソースは書けないのでしょうか? 大まかな流れとしては以下のように作成しております。 ClearCommError で取れそうな感じですが、 切断時でも何も変わりませんでした。 ------------OPEN------------------- if ((m_hComm=CreateFile (CommName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL)) == INVALID_HANDLE_VALUE) { /* handle error */ return false; } ------------OPEN------------------- ------------RECEIVE------------------- // 受信バッファにたまったデータサイズを得る ClearCommError(pInst->m_hComm, &dwErrors, &ComStat); dwCount = ComStat.cbInQue; if (dwCount != 0) { ZeroMemory(pszBuf, RcvBufferMaxSize); try{ ReadFile(pInst->m_hComm, pszBuf, dwCount, &dwRead, NULL); // 受信 } catch(CException &ex){ ex.Delete(); } } ------------RECEIVE-------------------
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.