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
[39544] Re:Re: 답변 감사합니다.
[] 808 읽음    2005-03-17 10:44
답변 감사합니다.
김시환 님께서 조언해주신데로  공부해보도록 하겠습니다.
제가쓰는 장치는 기술적인 부분에 대한 설명이 거의 없는 설명서라 부탁드리고 싶지만... 안타까울 따름입니다.
다음에도 좋은 조언 부탁드리겠습니다.

김시환 님이 쓰신 글 :
: 무엇보다 먼저 시리얼 포트의 경우 2개의 프로그램에서 동시에 포트를 열어서 사용하는 것은 불가능 합니다.
: 하이퍼 터미날에서 시리얼 포트를 사용하고 있는 중이라면 BCB 프로그램에서 동일한 포트를 Open 하려고
: 하면 이미 사용 중인 포트라고하면서 에러가 발생합니다.
:
: 그리고 왜 굳이 복잡하게 하이퍼터미날의 써서 명령을 입력하는 방식을 쓰는지 이해가 안갑니다.
: 일반적으로 통신을 통해 장비를 제어하는 경우 장비와 PC 간의 통신 프로토콜이 있습니다.
:
: PC에서 장비로 특정 명령을 전송하면 장비가 그 명령에 반응해서 동작하고 다시 PC로 리턴을 주게 되죠..
:
: 어차피 프로그램을 짜실 계획이라면 하이퍼터미날을 사용하지 않고 프로그램 자체에서 모든 기능이 되도록
: 프로그램하는 것이 원칙입니다. 그리고 모든 장비가 통신 명령을 잘못 보냈다고 해서 절대 고장나지는 않습니다. 
:
: 제 경우 예전에는 명령어를 보낸 후 시리얼 입력 이벤트를 처리하는 방식으로 프로그램을 했었는데
: 요즘에는 명령어를 보낸 후 약간의 delay 를 준 후에 시리얼 포트의 버퍼의 내용을 가져와서 처리하는 방식을
: 사용하고 있습니다.  필요에 따라 선택해서 사용하시면 됩니다.
:
:
: 첫번째의 경우 쓴 기억이 오래되서 잘 생각이 안나는데 아마 아래와 비슷할 겁니다.
: //-------------------------------------
: void __fastcall Main::Button1Click(object* sender)
: {
:     ComPort->Send("command", 7) ;
: }
:
: void __fastcall Main::ComPortReceive(object* sender, char* data, int size)
: {
:     char *buffer = new char[size] ;
:     for(int i=0 ; i<size ; i++) buffer[i] = data[i] ;     // 데이타를 한번 옮겨 봤습니다. ^^;;
:     delete[] buffer ;
: }
:
: 두번째 경우
: //--------------------------------------
:  char buffer[128] ;
:  sprintf(buffer,"command") ;
:  comport->send(buffer, sizeof(buffer)) ;
:  delay(100) ;
:  memset(buffer,0,sizeof(buffer)) ;
:  comport->read(buffer) ;
: //--------------------------------------
:  뭐 이런식이죠
:
: 장비의 프로토콜을 올려 주시면 제가 사용하는 라이브러리와 함께
: 간단한 사용방법도 알려 드리겠습니다.

+ -

관련 글 리스트
39540 계측장치의 데이터 수신 프로그램 왕초보wx5 1269 2005/03/16
39541     Re:계측장치의 데이터 수신 프로그램 김시환 1059 2005/03/16
39544         Re:Re: 답변 감사합니다. 808 2005/03/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.