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
[5928] 죄송합니다. 자세히좀....
이쁜이 [] 2411 읽음    2001-03-07 13:33
답변에 대하여 감사드립니다.
제가 통신은 초보라서....
시간이 된다면 간단한 예제를 들어 설명을 해주실수는 없으신지요?
시간이 허락되지 않으면 소쓰 예제라도....
염치없이 죄송합니다.



박세용 님이 쓰신 글 :
: 이쁜이 님이 쓰신 글 :
: : RS232C로 통신을 하려고 하는데 Send와 Receive buffer를 만들어 놓고 Send Data와 Receive Data를 읽어들일 때 Buffer에 대하여 문의 들이려 합니다.
: : 제가 지금 쓰는 방법은 Send나 Receive Data를 무조건 한번 읽고 나서 Buffer를 초기화 시키는 방법인데 이것이 좀 문제가 있어 Data가 깨집니다.
: : 어디서 듣기로는 한번 쓰거나 읽고 나서 무조건 Buffer를 Clear하는 것이 아니라 os pointer와 Appication pointer를 따로 두어 쓴다는 얘기를 들었는데 어떻게 구현을 해야할지 몰라서요.
: : 아님 좀더 좋은 방법이 있음 한수 가르쳐 주십시오.
: : 많은 조언 부탁드립니다.
: :   
:
: 통신상에서 send/receive buffer의 경우에는 자료구조 중에서
: 원형큐(circular queue)를 사용하면 편할겁니다.
: 원형큐의 어느 정도 충분한 크기의 메모리를 할당받아서(통신 속도와 기타 등등에 따라서
: 크기는 달라지겠죠)
: send와 receive용으로 각각 buffer를 만드세요.
: 그리고 버퍼의 동작은 receive buffer의 경우에
: |-----------------------------------------------------------------------|
:             ^                        ^
:             |                        |
:         processing(A)            write(B)
:
: 이 경우에 rs232c를 통해서 data가 들어오면 B점에 저장을 하고
: 계속 pointer를 증가시킵니다. 그리고 맨 끝에 오면 다시 맨 처음으로 가면 됩니다.
: 그리고 프로그램 내부에서 처리를 할 때에는 A점에서부터 프로세싱을 합니다.
: 여기에서 A를 증가시켜서 B와 같아지면 더이상 처리할 데이터가 없는것이고,
: B를 증가시켜 A와 같아지면 buffer가 꽉차서 더 이상 데이터를
: 받을 수 없다는 것입니다.
:
: 참고하세요.
:
: 박세용(sharejoy@computer.org)
:

+ -

관련 글 리스트
5903 통신에 대하여 이쁜이 2367 2001/03/06
5908     Re:통신에 대하여 박세용 2634 2001/03/06
5928         죄송합니다. 자세히좀.... 이쁜이 2411 2001/03/07
5932             단순히 콤포트 사용하기 위해서라면 콤포넌트를 사용하세요 김상우 2749 2001/03/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.