C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[63863] 시리얼 통신 문제.....
박민호 [] 1726 읽음    2011-03-03 16:11
안녕하세요~~~

혼자서 고민하고 또 고민하다 이렇게 도움을 요청해 봅니다....

다름이 아니라 제가 시리얼 통신 프로그램을 만들고 있는데 아무 문제 없이 잘됩니다...

다만 컴퓨터를 껏다가 킨다던지, 재부팅, 대기모드 등.... 컴퓨터를 다시 시작 했을 때는

항상 통신 연결이 안된다는 것입니다....

그럼 어떻게 통신이 되느냐... 그건 인터넷에서 떠돌고 있는 시리얼 통신 프로그램을 받아서

통신 연결을 한번 하고 나면 그 다음부터는 컴퓨터를 끄기 전까진 아무 이상 없이 통신이 잘됩니다...

기기 전원을 꺼도, USB선을 빼도.... 아무 이상 없이 에러처리 하며 잘 돌아 갑니다....

컴퓨터를 처음 키고 디버깅 해본 결과 핸들, 스레드 값 모두 할당되고 있는 상황입니다.... 에러가 있는 것도 아닌데...

책보고 따라 친 소스라서 틀린 부분이 있거나 부족한 부분이 있으면 수정좀 해주세요 ㅠㅠ

//---------------------------------------------------------------------------------------
void __fastcall TForm1::Button_ConnectClick(TObject *Sender)
{
    if((hComm = CreateFile("COM5", GENERIC_READ | GENERIC_WRITE, 0, NULL,
                OPEN_EXISTING, 0, NULL)) == INVALID_HANDLE_VALUE)
    {
        ShowMessage("Error opening COM port");
        return;
    }

    GetCommState(hComm, &dcb);

    dcb.BaudRate = StrToInt(ComboBox_Rate->Text);
    dcb.ByteSize = 8;
    dcb.Parity = NOPARITY;
    dcb.StopBits = ONE5STOPBITS;

    SetCommState(hComm, &dcb);

    COMMTIMEOUTS ct;
    GetCommTimeouts(hComm, &ct);
    ct.ReadIntervalTimeout = 100;
    SetCommTimeouts(hComm, &ct);

    Reading = TRUE;
    if((hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ReadThread,
            NULL, 0, &id)) == INVALID_HANDLE_VALUE)
    {
        ShowMessage("Error creating READ thread");
        CloseHandle(hComm);
        return;
    }
}
//---------------------------------------------------------------------------------------

+ -

관련 글 리스트
63863 시리얼 통신 문제..... 박민호 1726 2011/03/03
63870     Re:시리얼 통신 문제..... 심성현 1891 2011/03/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.