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
[56003] Re:Re:cport에서 데이타 프레임이 누락되는 현상이 발생하는것 같습니다..
linuxman [] 1461 읽음    2009-02-04 18:51
네.. 보내는쪽은 그냥 micom 장비라... log 같은것도 없어 확인할수 없지만...
오실로스코프로 신호를 찍어보면...데이타는 나온게 분명합니다...

통신 속도는 19200,38400 에서 똑같은 현상입니다..
이론상으로 200밀리초에 100byte정도는 받아낼수 있어야 하는데..
cport가 이 정도는 다 받아낼수 있을꺼라 생각되는데..

windows쪽에서 장비에서 보낸것만큼 못 받고 있는 느낌인데... windows쪽의 rxbuffer쪽의 데이타가
언제 소멸되는지는등...어디가 문제 인지 알수가 없네요...

*)데이타가 들어왔음에도 rxchar event가 안뜨는 경우가 있나요?


수고하세요.

evergreen 님이 쓰신 글 :
: Packet를 보내는 쪽에서
: Packet를 모두 보냈는지(아마도 ComPort1->Write()의) 결과를 확인해 보세요.
:
:
: 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 1287 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 1461 2009/02/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.