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
[59896] Re:APRO TApdComPort 에서 OutBuff 를 어떻게 설정하죠?
최보현.현지아빠 [uriduri] 1127 읽음    2010-01-21 21:38
한수동 님이 쓰신 글 :
: 제가 보내는 버퍼에 데이타를 저장하고 싶다면 어떻게 해야하는지...
:
: 보통 받는 버퍼는 자동으로 해주는 듯 한데(OnTriggerAvail 에서 Count 함수변수 부분)
: 나가는 버퍼는 우째 되는지 원리를 모르겠네요;

받는 데이터는 외부에서 들어오는 데이터가~~ 님이 짜신 프로그램이 데이터를 사용 하기 전까지~~
일단 받아 두는 역활이구요~

반대로 보내는 버퍼는 내가 보낼려고 하는 데이터를 임시로 보관하는 것입니다.
즉 내가 보내라고 해도~ 윈도우가 바뻐서 못 보내준다면 누군가 임시로 가지고 있어줘야
윈도우가 않바쁠때 그곳에서 빼다가 보내주져
만약 이런형태로 중간에 버퍼가 없다면 ... 사용자 프로그램은 윈도우가 않바쁠때까지 기다렸다가
보내야 할텐데 그럼 프로그램이 너무 복잡해 지지 않겠습니까 ...

또 한가지 보내는 속도가 1200 처럼 낮은속도라면 ... 데이터를 1200 속도에 맞춰서 서서히 보내야 할텐데...
그 빠른 컴퓨터로 다른일은 않하고 데이터 보내는데 시간을 허비 할수는 없으니~~
일단 한바이트 보내라 해놓고~~ 윈도우는 딴일을 할텐데 ...
그일이~ 좀 클일이면 .. 다음 바이트는 또 윈도우가 나에게 오길 기다려야 하고~~
쩝 그럼~~ 프로그램이~~ 영 윈도우 기다리다가 볼일 다보져~~ 그래서~~ 중간에 버퍼를 두고~~
그곳에~ 보낼 데이터를 써놓으면 윈도우가 가져다가 실제로 내보낸다고 생각 하면 됩니다 ...

즉 보내는 버퍼에 데이터를 저장 하는것은

AdpComPort->PutBlock(Data, 10);

과 같은 명령을 실행하면 이것은 하드웨어적으로 시리얼로 실제데이타가 나가는 것이 아니라
보내는 버퍼에 저장이 되어 지는 것입니다 ...

이해 가시는지요 ^^ 그럼

+ -

관련 글 리스트
59894 APRO TApdComPort 에서 OutBuff 를 어떻게 설정하죠? 한수동 1047 2010/01/21
59896     Re:APRO TApdComPort 에서 OutBuff 를 어떻게 설정하죠? 최보현.현지아빠 1127 2010/01/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.