안녕 하세요..
시리얼은 CPort263를 사용하였습니다.
시리얼로 데이터를 전송시에 데이터 앞 부분에 간단한 헤더를 붙여서 데이터를 전송할려구
하는데, 제가 아직 델파이 초보라서 그런지.. 막히는 부분이 있네요.
헤더는
type
sHeader = record
Head : Array[0..3] of Byte;
....
Length : Integer;
end;
이렇게 헤더를 구성하고, 시리얼로 전송할 데이터는 Msg (Array[0..15] of Byte 입니다.)
입니다.
제가 원하는건 C에서 처럼
sHeader 를 구성하고, 메모리를 sHeader.Length + Header의 Size 만큼을 잡은 뒤에
memcpy(&데이터[0], sHeader, sizeof(sHeader));
memcpy(&데이터[sizeof(sHeader)], Msg, 16);
이렇게 데이터를 구성한뒤에,
ComPort.Write(데이터, sizeof(데이터));
이렇게 시리얼로 전송을 하고자 합니다.
시리얼로 데이터를 전송 받은 경우는 ,
byte rcv데이터[1024];
ComPort.Read(rcv데이터, Count);
이런씩으로 시리얼을 이용한 데이터 전송을 할려구 합니다.
여기서, memcpy와 같은 기능을 하는 함수가 무엇인지, 그리고, 시리얼로
데이터를 전송받은 루틴에는 이상이 없는지..
답변 부탁드립니다.
그럼 좋은 하루 보내세요..
S := chr($02) + data + chr($03);
CPort.WriteStr(S);
앞뒤어대가 stx와 etx를 붙이는 소스입니다..