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
[14434] 빌더에서 시리얼 통신 전송할때 문자열을 전송하는 방법
오승택 [] 1490 읽음    2002-01-12 16:08
안녕하세요. 아래의 내용으로 자문좀 구하려고 합니다.
참고로 시리얼 콤포는트는 sysbas사(www.sysbas.com)의 WinCom1.0을 사용하고 있습니다.

데이터 패킷(packet)을 만들어서 장비로 전송하는 문제인데요.

우선 전송 함수의 ProtoType은
long writecom(long port_number, BSTR source, long length)이구요
여기서 port_number: 포트번호, source : 출력할 데이타가 들어있는 변수명, length : 출력할 데이타의 길이 입니다.  
그런데 main program중에 이 함수를 부르는 부분에 Wincom1->writecom(m_PortNumber, WideString(PACKET),strlen(PACKET) );이렇게 호출하고 있습니다.

그런데 문제는 char인 PACKET[125]배열에는 "0x00"이라는( 즉 Null문자이죠)이라는 것이 포함되어 있는데 PACKET 중 "0X00"이후는 전송이 되지 못한 다고 하네요(WideString함수가 그렇다고 함). 그래서 "0X00"을 포함한 문자열 전체를 전송할 수 있는 방법 좀 가르쳐 주시면 고맙겠습니다.(이것 떄문에 3일을 고생하고 있슴)
그리고 PACKET[0]자리에는 제어코드가 들어 가는데 이게 "0x82"입니다. 이것을 전송 후에 프린트 해 보니까 "0x3F"로 되더군요. 물론 다른 것(0x82, 0x00이외의 것들)은 잘 전송이 되구요. 왜 그런지요.

고수님들의 좋은 답변 부탁드립니다.   감사합니다.  

+ -

관련 글 리스트
14434 빌더에서 시리얼 통신 전송할때 문자열을 전송하는 방법 오승택 1490 2002/01/12
14436     Re:빌더에서 시리얼 통신 전송할때 문자열을 전송하는 방법 hongfox(붉은여우) 1766 2002/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.