掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
RS232Cの制御 (ID:68634)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
COMポートの番号が違っているとかはありませんか? (COM2 -> COM1)とか UINT CRs232cCtl::Open(HWND hWnd, char* port_name) のどこかでエラーが発生しているので return 0; の所にブレークポイントを張って停止させてみてください。 で、本題です。 m_hCom=CreateFile(port_name, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(m_hCom == INVALID_HANDLE_VALUE){ m_strError.Format("Can't open port."); return 0; } 多分ここだと思いますが if(m_hCom == INVALID_HANDLE_VALUE){ TRACE("%d\n",GetLastError()); // 追加 m_strError.Format("Can't open port."); return 0; } してエラー番号を取得した後、VCのIDEの「ツール」->「エラー検索」で エラー番号の内容を確認してみてください。 今後このような事態に対応するためにも m_strError.Format("Can't open port."); を m_strError.Format("Can't open port. ERROR NO = %d",GetLastError()); みたいな事に変更しておくと 呼び出し元の //RS232c config if(com1.Open(GetSafeHwnd(), "COM2")==0){ AfxMessageBox(com1.m_strError); return TRUE; // TRUEでいいの? } でエラー番号が分かります。この辺は好みなので お好きに拡張(改造)してみてください。 #あ、提示のHPと私は何の関係もありません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.