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
[52674] Re:Re:답변 감사합니다^^(내용무)
김명섭 [] 1122 읽음    2008-03-13 12:57
금목암 님이 쓰신 글 :
: 김명섭 님이 쓰신 글 :
: : 10 04 04 07 27 02 23 08 00 00 00 2C 8D 8F 29 70 8A 26 51 87 32 C5 94 00 00 00 88
: : 20 00 04 07 27 02 23 57 2C 8D 8F 29 70 8A 00 00 00 26 51 86 32 C5 94 00 00 00 88
: : 20 01 04 07 27 02 24 51 2E 4F 92 29 71 8A 00 00 00 26 51 88 32 C5 94 00 00 00 88
: : 20 02 04 07 27 02 25 57 2C 8D 90 29 71 8B 00 00 00 26 51 86 32 BF 42 00 00 00 88
: : 30 00 04 07 27 02 26 50 00 00 00 00 00 00 00 00 00 00 00 00 32 C5 94 00 00 00 88
: : 30 01 04 07 27 02 27 09 00 00 00 00 00 00 00 00 00 00 00 00 32 BB 31 00 00 00 88
: : 30 02 04 07 27 02 28 20 00 00 00 00 00 00 00 00 00 00 00 00 00 01 04 00 00 00 88
: : 위 처럼 Hexa값을 시리얼로 받아야 하는데 어떻게 받아야 하는지 모르겠네요.
: :
: : Comdrv32를 사용했습니다.
: : // 시리얼 통신에서 OnReceiveData의 DataSize는 유동적입니다.
: : // 10개일수도 100개일수도 50개일수도 있습니다..
: :
: : void __fastcall TForm1::cpdComReceiveData(TObject *Sender, Pointer DataPtr,
: :       DWORD DataSize)
: : {
: : AnsiString strRecvData,strRecvDataAll;
: : char *pBuf;
: : char buffer[100];
: :
: :    for( int i=buf;i<DataSize;i++)
: :    {
: :        buffer[i]=*pBuf;
: :        *pBuf++;
: :    }
: :
: :     if(buffer[2]==0x04 & buffer[26]==0x88)
: :     {
: :        for(int j=2;j<26;j++)
: :        {
: :     strRecvData.sprintf("%02X",buffer[j]&0xFF);
: :     strRecvDataAll+=strRecvData;
: :        }
: :     }
: : }
: : 위와 같이 하면 중간에 데이터가 안들어올때가 있더라고요ㅠㅠ
: :
: : 04~88까지만 잘라서 받고 싶은데 어떻게 하면 좋을까요^^
: ----------------------------------------------------------
:
: 데이터 수신부는 계속 받아서 버퍼에 쌓도록 하고
: 일정크기를 넘는 버퍼사이즈가 되거나 헤더,테일이 오면 그때 처리하게하세요
: 무조건 통신오자마자 받게하면 통신이 일부만 받게되니 중간에 처리하는 동안
: 오는 데이타나 처리루틴중 쌓이는건 버려질수 있습니다

+ -

관련 글 리스트
52660 시리얼통신 데이터 수신에 대한 질문입니다. 김명섭 1508 2008/03/12
52664     Re:시리얼통신 데이터 수신에 대한 질문입니다. 금목암 1522 2008/03/12
52674         Re:Re:답변 감사합니다^^(내용무) 김명섭 1122 2008/03/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.