아래와 같이 1바이트씩 수신을 받고 있습니다
한번에 수신된 문자열 모두를 아래와 같이 합쳐서 frmSmon.Edit1.Text
보고싶은데 어떻하는지 모르겠군요....
3A 53 55 42 00 00 00 52 53 02 00 00 00 00 03 0A 0D
아래와 같이하면 마지막 문자만 보이는군요
procedure TRxThread.Execute;
var
b: Byte;
k: String;
begin
while not Terminated do
begin
if frmSmon.ComPort1.InputCount > 0 then
begin
frmSmon.ComPort1.Read(@b, 1, false); //1바이트 받는 부분
rxcnt := rxcnt + 1;
rxBuf[rxcnt] := b;
Synchronize(UpdateScreen);
end else
Sleep(1);
end;
end;
procedure TRxThread.UpdateScreen;
var
s: string;
begin
case frmSmon.hex_Scan of
0 : frmSmon.Edit1.Text := IntToHex(rxBuf[rxcnt],2) + ' ';
1 : frmSmon.Edit1.Text := IntToStr(rxBuf[rxcnt]) + ' ';
2 : frmSmon.Edit1.Text := Char(rxBuf[rxcnt]) + ' ';
end;
frmSmon.StatusBar2.Panels[1].Text := ' RX Count : ' + IntToStr(rxcnt)
+ ' Bytes';
if rxcnt>=32768 then
Terminate;
end;
1 : frmSmon.Edit1.Text := frmSmon.Edit1.Text +IntToStr(rxBuf[rxcnt]) + ' ';
2 : frmSmon.Edit1.Text := frmSmon.Edit1.Text +Char(rxBuf[rxcnt]) + ' ';