플랫폼 빌더에서 레지스터리를 수정 후에
다시 자체 제작한 시리얼 통신 프로그램을 돌렸더니..
COM1에서 핸들값은 넘어 오는데요.. 그래도 포트 오픈이 안되네요..
evc 4.0 이구요. 아래 부분이 PORT를 오픈하는 부분인데요..
핸들은 넘어오는데, 포트가 안열린다면, 포트 셋팅 문제인것 같은데,
도무지 모르겠습니다.
이게 열여야.. 뭘 할텐데.. ㅡㅡ;;
void CMFCSerialDlg::OnPortOpen()
{
CString str;
hd = CreateFile(TEXT(\"COM1:\"), //
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
str.Format(_T(\"%ld\"),hd); //핸들값을 보려고..
m_clist.AddString(str);
dcb.BaudRate = 115200;
dcb.ByteSize = 8;
dcb.Parity = 0;
dcb.StopBits = 1;
dcb.fBinary = false;
dcb.fParity = false;
dcb.fOutxCtsFlow = false;
dcb.fOutxDsrFlow = false;
dcb.fDtrControl = DTR_CONTROL_DISABLE;
dcb.fDsrSensitivity = false;
dcb.fOutX = false;
dcb.fInX = false;
dcb.fErrorChar = false;
dcb.fNull = false;
dcb.fRtsControl = RTS_CONTROL_DISABLE;
if(!SetCommState(hd, &dcb)){
CloseHandle(hd);
m_clist.AddString(_T(\"Port Open 실패\"));
hd = NULL;
return;
}
m_clist.AddString(_T(\"Port Open 성공\"));
UpdateData(false);
return;
}
|