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
[42184] Re:첨부한 파일 처럼 컴포트를 설정 하려면....
조준회 [] 1199 읽음    2005-10-18 14:40
검색을 먼저해보세요.
시리얼 직접제어부분에 대한건 자료가 많이 공개되어 있습니다.

자료실에만 찾아봐도 쓸만한 것들이 몇가지 있고요.

책으로는.. 이상엽의 Visual C++ 6.0 Bible(?)을 참고하셔도 됩니다.
물론 Visual C++ 책이긴 하지만..거의 대부분이 API이므로 빌더에서도
크게 다르지 않습니다.

수빈 님이 쓰신 글 :
: 일단 상황 설명부터 말씀드리자면..
: 하나의 예제 프로그램 소스가 있습니다..
: 장비를 써서 컴포트 통신을 하는 소스인데.. 시리얼 통신을 위해서 cport 컴퍼넌트를 사용했다고 합니다.
: 헌데 cport 컴퍼넌트 없이 api함수로  설정하여 똑같은 기능을 하고 싶습니다.
: 덧붙여 말씀 드리자면.. cport컴포넌트를 설치하지? 라는 의문을 갖으실수 있지만..
: 원론적으로 cport 컴포넌트 설치에서 자꾸 에러가 발생합니다..
: 조회해서 따라할만큼  했지만.. 설치 실패...
: 질문에 답변이 있었으면 합니다.
: 아래는 comport 설정 예문입니다.. 추가할부분과 설정할 부분을 고쳐 주시면 감사하겠습니다.
:
: 데이터 검출이나 이상유무 가 문제가 아니라.. 포트로 데이터값이 날라오는것만 확인 되면 됩니다..
: //=======================================================================================
: HANDLE hFile;
: DCB    dcb;
: DWORD dwWritten;
: DWORD nBytesRead;
: OVERLAPPED ol;
: bool bResult;
: COMMTIMEOUTS to;
: COMMPROP     cp;
:
: char inBuffer;
: int  cnt,idx,flag,i;
: char BUF3[2],BUF2[256]={""},BUF[256]={""};
: char LRC = 0x00,ch = 0x00;
:
:         //======================================================================
:         // 핸들 오픈 하기.
:         //======================================================================
:         hFile = CreateFile ("COM1",
:                             GENERIC_READ | GENERIC_WRITE,
:                             0,
:                             NULL,
:                             OPEN_EXISTING,
:                             FILE_FLAG_OVERLAPPED,
:                             NULL);
:         dcb.DCBlength = sizeof (DCB);
:         GetCommState (hFile,&dcb);
:         dcb.BaudRate =CBR_9600;
:         dcb.ByteSize = 8;
:         dcb.Parity = NOPARITY;
:         dcb.StopBits = ONESTOPBIT;
:         dcb.fBinary = TRUE;
:         dcb.fParity = TRUE;
:
:         if(!SetCommState(hFile, &dcb ))
:         {
:             CloseHandle(hFile);
:             MSG->Caption = "단말기를 체크하시고 다시 시작하십시요.";
:             return;
:         }
:         //======================================================================
:         // 컴포트를 지연 시간 등을 설정하는 부분
:         //======================================================================
:         cp.wPacketLength = sizeof(COMMPROP);
:         GetCommProperties(hFile,&cp);
:         if(!(cp.dwProvCapabilities & PCF_INTTIMEOUTS)) return;
:
:         memset(&to , 0 ,sizeof(to));
:         //to.ReadTotalTimeoutConstant = 20000;
:         //to.ReadIntervalTimeout      = 20000;
:
:         SetCommTimeouts(hFile,&to);
:         SetCommState(hFile,&dcb);

+ -

관련 글 리스트
42183 첨부한 파일 처럼 컴포트를 설정 하려면.... 수빈 1333 2005/10/18
42184     Re:첨부한 파일 처럼 컴포트를 설정 하려면.... 조준회 1199 2005/10/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.