|
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으루 하구 이렇게 생각하구 있었거든요..
고수님들 답변 부탁드립니다..
|