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
[52549] 시리얼통신 패킷 관련 도움주실분요..
최명권 [jokacbal] 1466 읽음    2008-03-05 13:43
CPort를 이용하여 간단한 시리얼 통신을 하려는데요,
일단 열구 닫는건 검포넌트의 도움으로 대충 끝냈구요,
DSP와 통신하는 것만 남아있습니다.

[ComPort]
Port = COM1
BaudRate = 9600
StopBits = 1
DataBits = 8
Parity = None
FlowControl = None

데이터는 8비트를 상위 4비트를 헤더, 4비트를 데이터로 사용하려고 합니다. 그래서

#define   HEADER_A   0x01
#define   HEADER_B   0x02
........
송신부쪽에는
----------------------------------------
char szBuf[2];

szBuf[0] = STX;
ComPort->Write(szBuf, 1);

szBuf[0] = HEADER_A < 4 | DATA_A ;     // DATA 는 미리 뒤쪽 4비트만 남게 처리
ComPort->Write(szBuf, 1);

szBuf[0] = HEADER_B < 4 | DATA_B ;
ComPort->Write(szBuf, 1);

szBuf[0] = ETX;
ComPort->Write(szBuf, 1);
----------------------------------------

이럴경우에 STX랑 ETX는 어떤 것이 좋을까요?? 제가 맘대루 해두 되는건 알고 있는데
제가 통신이 첨이라 보통은 어케 처리하는지 궁금해서요..
저는 헤더가 1부터 시작하니깐

#define   STX    0x0F
#define   ETX    0x05

헤더를 0으루 하구 이렇게 생각하구 있었거든요..

고수님들 답변 부탁드립니다..

+ -

관련 글 리스트
52549 시리얼통신 패킷 관련 도움주실분요.. 최명권 1466 2008/03/05
52554     Re:시리얼통신 패킷 관련 도움주실분요.. 금목암 1739 2008/03/05
52567         Re:Re:시리얼통신 패킷 관련 도움주실분요.. 최명권 1431 2008/03/06
52568             Re:Re:Re:시리얼통신 패킷 관련 도움주실분요.. 금목암 1626 2008/03/06
52594                 Re:Re:Re:Re:시리얼통신 패킷 관련 도움주실분요.. 최명권 2516 2008/03/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.