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
[56077] Read한다음에 데이타 처리하는 부분도 올려주시겠어요?
조필형 [reminis] 1273 읽음    2009-02-09 08:16
먼저 4096보레이트는 대략 400byte/sec라 좀 간당간당하네요.
하지만 19200에서도 마찬가지 일이 발생한다면
다른 이유일거 같습니다.
통신이라는게 처음과 끝이라는 경계가 없는것이라
100바이트를 보내도 받는 측에서는 100바이트가 다 들어오기전에 Rxchar 이벤트를 발생시킵니다.
즉 여러번에 걸쳐 읽게 되지요.
그래서 패킷에 처음과 끝을 명시하고 끝 표시가 검출될때까지
전역변수나 static 변수에 데이타를  차곡차곡 이어붙여 저장할 필요가 있습니다.
받는 부분에서 그런 처리를 하고 있는지 궁금하네요. 이후 코드 부탁드립니다.

linuxman 님이 쓰신 글 :
: CPORt 2.64를 사용하고 있습니다.
:
: 상대쪽 장비에서 약 250~300밀리초 단위로 약 100 byte정도의 완전한 프레임(임의로 정의한 Soh ~ EOT 까지) 을  계속 writing 하고 있습니다.
: ComPort1RxChar 에서 읽어 보면 frame이 통째로 빠지는 느낌이 듭니다.
: 중간에 rxbuffer 에서 하나의 프레임이 완전히 사라지는 느낌입니다. ( 즉 100 byte의 프레임을 100번 보내면, 80번정도는 못 받는 그런현상 )
: 이런 현상이  왜 일어나나요?
:
: (그런데..시간을 약 300밀리초 ~ 500밀리초로 writing 하면 100번 보내면, 100번 수신합니다)
:
: rx,tx buffer는 4096으로 설정하였습니다.
:
: ComPort1 ==>
:   BaudRate = br19200
:   Port = 'COM1'
:   Parity.Bits = prNone
:   StopBits = sbOneStopBits
:   DataBits = dbEight
:   Events = [evRxChar, evTxEmpty, evRxFlag, evRing, evBreak, evCTS, evDSR, evError, evRLSD, evRx80Full]
:   Buffer.InputSize = 4096
:   Buffer.OutputSize = 4096
:   FlowControl.OutCTSFlow = False
:   FlowControl.OutDSRFlow = False
:   FlowControl.ControlDTR = dtrDisable
:   FlowControl.ControlRTS = rtsDisable
:   FlowControl.XonXoffOut = False
:   FlowControl.XonXoffIn = False
:   OnRxChar = ComPort1RxChar

:
: 그런데..CPort의 void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count) ..
: {
:     BYTE recvBuf[512];
:     int iLen,i;
:  
:     memset(recvBuf,'\0',sizeof(recvBuf));
:     iLen=ComPort1->Read(recvBuf,Count);
:
: }

+ -

관련 글 리스트
56000 cport에서 데이타 프레임이 누락되는 현상이 발생하는것 같습니다.. linuxman 1288 2009/02/04
56077     Read한다음에 데이타 처리하는 부분도 올려주시겠어요? 조필형 1273 2009/02/09
56012     Re:cport에서 데이타 프레임이 누락되는 현상이 발생하는것 같습니다.. 보리 1492 2009/02/05
56001     Re:cport에서 데이타 프레임이 누락되는 현상이 발생하는것 같습니다.. evergreen 1355 2009/02/04
56003         Re:Re:cport에서 데이타 프레임이 누락되는 현상이 발생하는것 같습니다.. linuxman 1462 2009/02/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.