Q&A

  • CPort2.64를 사용하여 232로 들어 오는 데이터를 처리하는데 $00 값은 삭제 되어서 들어 오는데?
소스:
function HexDisplay(sStr : String) : String;
var
sTmp,sHex : String;
i : integer;
begin
  sTmp :='';
  for i:=1 to Length(sStr) do
  begin
  sHex := Format('%x',[byte(sStr[i])]);
  if Length(sHex) = 1 then sTmp := sTmp + '$0'+ sHex
    else sTmp := sTmp +'$' + sHex;
  end;
  Result := sTmp;
end;

procedure TMain.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str : String;
begin
  ComPort.ReadStr(Str, Count);
  Edit1.Text := HexDisplay(Str);
end;

해서 값을 값을 추출해서 보면 보낸값은 $03$02$00$04$1F 로 보내면 $03$02$04$1F 값  즉 $00값이 빠진 것만 들어 옵니다.
2  COMMENTS