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
[14422] 시리얼통신에 관하여(sysbas사의 Wincom을 중심으로)
오승택 [] 1566 읽음    2002-01-12 01:59
sysbas(www.sysbas.com)사의 Wincom1.0을 이용해서 온도콘트롤러를 RS485통신으로 제어할려고 합니다. 그래서 프로그램을 다운받은데로 Hiper Terminal을 이용해서 서로 통신을 해보면 잘 작동합니다.
그런데 실제로 온도콘트롤러와 통신을 할려면 전송할 패킷(Packet)을 날려서 온도콘트롤러가 반응을하도록 해야하는데 그래서 간단하게 전송패킷을 통신 Command를 이용해서 16진수로 바꿔 패킷의 배열에 그대로 할당하였습니다(여기서 16진수는 DOS프로그램에서 이제까지 계속 사용해와서 아주 작 작동된 문제없는 결과입니다.)

즉 PACKET[0]=0x82;
   PACKET[1]=0x00;
       ................
   PACKET[6]=0X02;     등으로

1) 그렇게 한 다음 PACKET의 포인터를 Wincom1->writecom(Port_number, WideString(Packet), strlen(Packet) ); 해서 날렸는데 왜 아무런 반응이 없는지요(아무래도 data가 전송이 안되는 것 같습니다.(DOS나 VC++예제 프로그램은 잘 작동 됨)

사용해 보신분 있으시면 꼭 답변주시기 바랍니다.

2) 전송데이타를 제대로 갔는지 확인할 수 있는 방법이 없는지요?(예로서 하이퍼터미널을 이용한다든지....).  하이퍼터미널을 널모뎀케이블을 이용해서 하면 될 것 같은데 전송데이타를 16진수로 어떻게 확인하죠?

3)위 1)번의 전송신호를 주는 writecom 함수의 두번째 인자인 Packet은 함수정의 에는 (BSTR)로 되어있고 실제 사용시에는 위 1)번과 같이 형식에 WideString으로 해서 사용하는데 정확한 이유를 잘 모르겠습니다.


이상 두서없이 말씀드렸는데 읽어 주셔서 감사합니다.

+ -

관련 글 리스트
14422 시리얼통신에 관하여(sysbas사의 Wincom을 중심으로) 오승택 1566 2002/01/12
14426     Re:시리얼통신에 관하여(sysbas사의 Wincom을 중심으로) 박경원 1633 2002/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.