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
[56785] 연속전인 프로토콜 처리...
이양반이~~ [] 934 읽음    2009-05-07 14:49
아래와 같이 연속적인 프로토콜이 들어  왔을 때

C8;3F;00;00;F8;C8;3F;00;00;F8;C8;3F;80;00;78;C8;3F;00;00;F8;C8;3F;00;00;F8;
C8;24;00;05;02;00;25;10;00;D7;C8;3F;00;00;F8;C8;24;00;05;02;00;25;10;00;D7;C8;3F;00;00;F8;
C8;24;00;05;02;00;25;10;00;D7;C8;3F;00;00;F8;C8;3F

0xc8를 기준으로 프로토콜을  분리해 내고 싶은데요...

sleep 함수를 쓰면 프로토콜이 잘 분리가 되는데요.  sleep함수를 주석 처리 하면

if (Data[i] == 0xc8)  <-- 이 부분에서 체크가 안 되는 부분이 있더라고요..(아래 소스 참고)

왜 그런지 도통 이해가 되지 않습니다.  혹시 아시는 분 있으시면.. 답변 부탁합니다.

그리고  받는 부분을 쓰레드로 만들고 싶은데 어떻게 하는게 좋을 까요...

참고로 보내는 부분은 쓰레드로 구현돼 있습니다.


** 받는 부분 (아직 테스트 중입니다. )
void __fastcall TThreadComm::ParsingData(BYTE *Data, const int &Size)
{
    for (int i = 0; i < Size; ++i)
    {
        if (RcvCnt >= Rcv_Buff_Size)        //overflow...
            RcvBuffInit();

        if (Data[i] == 0xc8)
        {
            if (FOnRcvCplt)
            {
//                Sleep(700);    <--- 이부분
                            Synchronize(&SyncRcvCplt);
            }

            if (NowRcving)
                RcvBuffInit();

            NowRcving = true;
            RcvBuff[RcvCnt++] = Data[i];
        }
//        else if (Data[i] == ETX)
//        {
//            if (NowRcving)
//            {
//                RcvBuff[RcvCnt++] = Data[i];
//                if (FOnRcvCplt)
//                    Synchronize(&SyncRcvCplt);
//
//                RcvBuffInit();
//            }
//        }
        else if (NowRcving)                 //Frame Data
        {
            RcvBuff[RcvCnt++] = Data[i];
        }
    }
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
56785 연속전인 프로토콜 처리... 이양반이~~ 934 2009/05/07
56791         Re:Re:연속전인 프로토콜 처리... 이양반이~~ 911 2009/05/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.