MFCでシリアル通信を行うツールを作成しています。
CreateFileを行うと、「例外がスローされました:書き込みアクセス違反 thisがnullptrでした」と出ます。
ビルドは通ってしまっているので、上記以外のエラーが確認できません。
何が原因なのでしょうか?
BOOL ThrSerialCom::fnInitSerialPort() { hSerialPort = CreateFile( _T("COM6"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hSerialPort == INVALID_HANDLE_VALUE) { AfxMessageBox(_T("COMポートのオープンに失敗しました。"), MB_OK | MB_ICONERROR); return FALSE; } BOOL bSetupCom = SetupComm(hSerialPort, sizeof(m_pucRecvBuf), sizeof(m_pucSendBuf)); if ( bSetupCom == FALSE ) { AfxMessageBox(_T("COMポートのセットアップに失敗しました。"), MB_OK | MB_ICONERROR); return FALSE; } memset(&dcb, NULL, sizeof(DCB)); dcb.DCBlength = sizeof(DCB); GetCommState(hSerialPort, &dcb); dcb.BaudRate = 9600; dcb.Parity = 0; dcb.StopBits = 0; dcb.ByteSize = 8; if (SetCommState(hSerialPort, &dcb) == FALSE) { AfxMessageBox(_T("COMポートの設定に失敗しました。"), MB_OK | MB_ICONERROR); return FALSE; } return TRUE; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。