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
[42071] Re:Re:Re:시리얼 통신 문제입니다. 한번 봐주세요.
금목암 [iconms1] 1498 읽음    2005-10-04 12:36
통신 소스를 보니 rs-485통신을 쓰시는것 같네요
가능하시면 comport 라이브러리로 바꾸어보세요
(이게 잘되더군요 )

그리고 통신에서 빠른속도로 연속으로 들어올때
이런식으로 하시면 통신버퍼에 오버랩이 생기거나
같은 버퍼를 두번 읽을수 있으니
임시 버퍼를 만들어서 거기에 들어오는것을 무조건
쌓아놓고 주기적으로 블록으로 가져오면서 지워주세요
------------------------------------------------



쩡이 님이 쓰신 글 :
: 답변 감사합니다.
: 전임자가 갑작스레 퇴사해서 이어받은 프로그램이라.. 쿨럭 ㅡ_ㅡ;
: 프로그래밍 실력도 경험도 전혀 없는지라.. 소스 내용이 이해되지는 않네요.
: 우선 TriggerAvail 이넘이 멀하는 것인지 알아봐야겠네요.
: 좋은 하루되세요.
:
:
:
: ayh 님이 쓰신 글 :
: : 다른 분 답변이 없어서, 몇 자 적습나다.
: :
: : 일단, 제 경우에도 AsyncPro를 사용했는데요.
: : Thread는 쓸 일이 없어서, TriggerAvail 이벤트를 이용했습니다.
: :
: : 찾아보시면 컴포넌트 소스에 예제가 포함되어 있을 겁니다만,
: : 일단 한 번 TriggerAvail 이벤트 핸들러를 작성하셔서 테스트 해보시면, 해결의 실마리를 찾아보실 수 있지 않을까 싶어서, 글 올려봅니다.
: :
: : (제 경우에는 이 방식으로 3차례 정도 개발했는데, 언제나 별 문제 없었습니다. ^^ 이것저것 고민할 것도 적고요.. )
: :
: : 아~ 소스 찾아봤는데 델파이 소스네요.
: : 마지막 개발한 게 델파이로 한거라서.. 적당히 변환하시면 될겁니다 ^^
: :
: : procedure TDataModuleIO.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
: : var
: :   I : Word;
: :   C : Char;
: :   S : String;
: :   Token : String;
: : begin
: :   S := '';
: :   for I := 1 to Count do begin
: :     C := ApdComPort1.GetChar;
: :     case C of
: :       #0..#31 : {Don't display} ;
: :       else S := S + C;
: :     end;
: :   end;
: : end;

+ -

관련 글 리스트
42041 시리얼 통신 문제입니다. 한번 봐주세요. 쩡이 1560 2005/09/29
42051     Re:시리얼 통신 문제입니다. 한번 봐주세요. ayh 1269 2005/09/29
42053         Re:Re:시리얼 통신 문제입니다. 한번 봐주세요. 쩡이 1332 2005/09/29
42071             Re:Re:Re:시리얼 통신 문제입니다. 한번 봐주세요. 금목암 1498 2005/10/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.