그동안 RS232통신을 잘해 왔는데요.
이번에 어떤 업체에서 BCC값을 전송하는 기기를 테스트 해야 하는데요.
잘 않되요.
다음과 같이 하고는 있는데요.
뭐가 문제인지 잘 모르겠습니다.
보시고 조언좀 해 주세요.
STX ‘C(43h)’ 33h 30h ETX BCC
여기서 BCC 는 ‘C(43h)’ 33h 30h ETX 라고 합니다.
이렇게 보내라는데요.
이렇게 해 본적이 없으니
다음과 같이 무식하게 하고 있습니다.
var cString,PortCmd : string ;
STX, ETX, Cm, Pm, Om : Byte ;
CMD,BCC : BYTE ;
i : integer ;
begin
STX := $2;
ETX := $3;
Om := $43;
Cm := $33;
Pm := $30;
PortCmd := chr(STX) + chr(Om) + chr(Cm) + chr(Pm) + chr(ETX);
//PortCmd := chr(2) + chr(43)+ chr(33)+ chr(30) + chr(3);
//PortCmd := chr(02) + 'C30' + chr(03);
BCC := 0;
BCC := BCC Xor ord('C') Xor ord('3' ) Xor ord('0') Xor ord('3' ) ;
PortCmd := PortCmd + chr( BCC ) ;
comport1.WriteStr( PortCmd );
이렇게 하면 되는거 아닌가요?
ETX는 빼야 할겁니다.