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
[35475] Re:잘은 모르겠지만..... 몇자만 적어 봅니다.
꿈꾸는빛.영준 [k700k] 1156 읽음    2004-06-08 14:24
먼저 도스에서는 Thread를 사용할수 없는걸로 알고 있습니다. 윈도우의 Thread계념은 어차피 CPU를 시간으로 분할 하여 사용 하는데.. 이 기능을 OS에서 대신 해주는거죠.. 도스에서는 처음 부터 끝까지 프로그래머가 직접 시 분할을 위한 알고리즘을 만들어야 하지 않을까요?

도스 상에서 while 문에 sleep()함수가 들어 가면 전체 프로그램에 영향을 주게 되는데, 여러번 사용하게 되면 문제가 생길거 같습니다.

직접적인 해결 방법은 도움을 드리지 못하겠네요.. 실력이 모잘라서..

이일형 님이 쓰신 글 :
: 안녕하세요. 시리얼 통신 송신 질문 드립니다.
: 프로그래밍은 제 전공이 아니라 워낙 초짜 입니다. 그래서 C 만 사용합니다. -_-
: 일단 데이터를 받는건 인터럽트를 사용하여 잘 하고 있는데 송신이 문제 입니다.
: 여러 사이트에서 찾아 봤는데 C 이외의 언어는 (C++도 -_-) 잘 이해를 못하기 때문에 좋은 소스를 찾아도 알 수 없고 대충 예제 프로그램은 제가 올려 놓은 것과 별반 다를게 없습니다.
: 아래와 같이 프로그램을 짜서 사용하고 있는데요. 일단 송신을 잘 됩니다.
:
: 문제는 UART에 여러 문자를 보낼때 while(!(inportb(comport+LSR) & TX_EMPTY)); 루틴이 문제인듯 합니다.
: 9600bps로 세팅하고 초당 900바이트 정도의 데이터를 송신하는데 CPU 점유율이 높습니다.
: 다른 작업을 병행하고 통신포트를 6개 이상 사용해야하므로 CPU 점유율을 낮추어야 합니다. 
: 아마 전에 송신하던 문자가 송신이 되기를 기다리느라 while 문이 많이 반복되는 듯합니다.
: 제가 생각하기에 delay(), sleep() 함수를 while문 안에 넣으면 될꺼 같은데 그 방법이 맞는지요.
: 그리고 delay(), sleep()를 써서 잠시 지연을 시킨다면 지연하는 시간이
: 보레이트와 관계가 있을 듯합니다. 혹시 위의 방법이 맞다면 보레이트별로 지연시간이
: 어느정도가 적당한지 알고 싶습니다. 보레이트는 9600에서 115200까지 두루 사용하게 될듯 합니다.
:
:
: void Send_data(unsigned char ch,unsigned int comport)
:   {
:    while(!(inportb(comport+LSR) & TX_EMPTY));  //TX FIFO가 빌때까지 기다린다
:    outportb(comport+THR, ch);
:   }
:

+ -

관련 글 리스트
35458 시리얼통신 질문[송신할때 딜레이] 이일형 1961 2004/06/07
35486     Re:시리얼통신 질문[송신할때 딜레이] posix.duo 2237 2004/06/08
35487         Re:Re:답변 감사드립니다. 이일형 1002 2004/06/08
35475     Re:잘은 모르겠지만..... 몇자만 적어 봅니다. 꿈꾸는빛.영준 1156 2004/06/08
35459     Re:시리얼통신 질문[송신할때 딜레이] 김상면 1642 2004/06/08
35467         Re:Re:시리얼통신 질문[송신할때 딜레이] 이일형 1164 2004/06/08
35473             Re:Re:Re:시리얼통신 질문[송신할때 딜레이] 김상면 1258 2004/06/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.