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
[26773] Re:저기요 그럼 STX가..
posix.duo [posix] 1353 읽음    2003-08-18 14:52
일반적으로 시리얼 통신에서는 여러가지 문자가 쓰이고 있습니다.
주로 짝을 이뤄서 쓰고 있습니다.

STX(Sart TX: 0x02) <-> ETX(End TX: 0x03)
SOH(Start Of Header: 0x01) <-> EOT(End Of Text: 0x04)
ENQ(ENQuire: 0x05) <-> ACK(ACKnowledge: 0x06) 혹은 NAK(Not AcKnowledge: 0x15)

등등...

이런것이 절대적인 것은 아니지만 일반적으로는 위와 같은 형태로 쓰입니다.
수신되는 데이타의 시작과 끝을 알 수 있도록 표시하기 위해서 쓰는 것이죠.
통신하기위한 헤더나 데이터의 포맷은 통신하려는 상태측이 무엇이냐에 따라 다르겠지만
시리얼 통신에서는 명확하게 어디서부터 어디까지가 헤더이고 데이터다라는 것이 없기 때문에
통신상대에서 사용하는 프로토콜에 맞춰 주거나 혹은 상대와 상의하여 통신 포맷을 맞추어야 합니다.
또한 통신 데이터의 일반적인 코드를 분석하여 STX, ETX등의 코드가 데이터의 값과 혼동되는 상황이
발생하지 않도록 하여야 합니다.

예를 들면,
STX, ETX를 시작과 끝문자로 사용하는데 데이터 중에 '0x02' 혹은 '0x03' 이라는 값이 포함된다면
이것을 통신 개시 혹은 통신 종료문자로 인식할 수 있기 때문에 데이터 문자중에 '0x02'라는 값이 포함될
경우 '0x02 0x02'와 같이 두번연속 넣어 주는 방법을 사용한다든지 혹은 통신 통신시작과 끝문자를 다른
것으로 바꾼다든지 하는 방법을 쓰기도 합니다.

도움이 되셨길 바랍니다....

+ -

관련 글 리스트
26772 저기요 그럼 STX가.. 요쿠르트 637 2003/08/18
26773     Re:저기요 그럼 STX가.. posix.duo 1353 2003/08/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.