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
[47851] [추가질문] 원하는 값만 캐치하는 법 (해당 소스 첨부)
주바라기 발루 [balru] 853 읽음    2007-01-23 15:43
02  80  A8  B1  93  FA  BD  B1  93  03    <-------시리얼로 들어오는 데이터 형식
i=   0    1    2   3    4     5    6     7    8    9

3번째 하위와 4번째 데이터값만을 Memo1에 쓰는데.... 가끔 엉뚱한 데이터가 나옵니다.
간혹  다음 데이터를 수신할때도 있고 그렇습니다. 어떤식으로 해결해야할까요?
ㅠㅠ 답변 간절히 기다릴께요.

//------------시리얼 수신쪽 ----------------------------------------
DWORD ReadThread (LPDWORD lpdwParam1)
{
    char datain[BUFSIZ];
    DWORD data_Buff;

    if (!(cp.dwProvCapabilities & PCF_INTTIMEOUTS))
        return 1L;

    memset (&to, 0, sizeof(to));
    to.ReadIntervalTimeout = MAXDWORD;
    SetCommTimeouts (hComm, &to);
              
    while (bReading) {                
        if (!ReadFile(hComm, inbuff, BUFSIZ, &data_Buff, NULL))
                                      {
            locProcessCommError(GetLastError ());
              }
        else
                                     {
            if(data_Buff)
                          Form1->ProcessBytes(inbuff, data_Buff);
             }
                     }
    PurgeComm(hComm, PURGE_RXCLEAR|PURGE_TXCLEAR);
    return 0L;
}
//------------------------------------------------------------
void __fastcall TForm1::RS232_Read( char *datain, int  data_Buff)
{
    int     i;
    AnsiString strTemp;
    BYTE data;

   for( i=0; i<data_Buff; i++)
        {

              if(i==3)
              {
                data=0x0f & idatain[i];
                strTemp = Format("%2x", ARRAYOFCONST((data)));
                Memo1->Text=Memo1->Text+(strTemp);
              }

              if(i==4)
               {
                data=idatain[i];
                strTemp = Format("%.2x", ARRAYOFCONST((data)));
                Memo1->Text=Memo1->Text+(strTemp);
              }
    }
}
//------------------------------------------------------------

+ -

관련 글 리스트
47851 [추가질문] 원하는 값만 캐치하는 법 (해당 소스 첨부) 주바라기 발루 853 2007/01/23
47853     Re:[추가질문] 원하는 값만 캐치하는 법 (해당 소스 첨부) 김시환 871 2007/01/23
47855         Re:Re:[추가질문] 원하는 값만 캐치하는 법 (해당 소스 첨부) 주바라기 발루 884 2007/01/23
47852     Re:[추가질문] 원하는 값만 캐치하는 법 (해당 소스 첨부) 이정일 851 2007/01/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.