У меня есть устройство, подключенное к порту USB, при отправке запроса я получаю ответ.Но я получаю разделенный ответ, похоже, что CPort не ожидает полного ответа.
Sent: getNodeStatus,03
(HEX) > A5 FE 03 10 00 10 19 17 00 1A 17 16 17 10 19 00 19 19 19 00 10 19 10 10 10 00 19 00 10 10 00 19
(HEX) > 17 19 00 00 10 10 10 10 18 10 10 19 19 10 10 00 00 00 00 00 00 6D
Я хотел бы объединить обе строки в одну с одинаковым ответом:
Sent: getNodeStatus,03
(HEX) > A5 FE 03 10 00 10 19 17 00 1A 17 16 17 10 19 00 19 19 19 00 10 19 10 10 10 00 19 00 10 10 00 19 17 19 00 00 10 10 10 10 18 10 10 19 19 10 10 00 00 00 00 00 00 6D
Я не знаю, как этого добиться, это OnPacket
код:
procedure TForm1.ComDataPacket1Packet(Sender: TObject; const Str: string);
var
I:Integer;
t:byte;
str2:String;
begin
for I:=1 to length(str) do
begin
str2 := str2+IntToHex(Byte(str[I]),2)+' ';
end;
memo1.lines.add('(HEX) > '+str2);
memo1.lines.add(' ');
end;
Одна важная вещь, которую следует иметь в виду, - невозможно использовать свойство StartString & StotString
ComDataPacket
так как он меняется в любое время.Любая другая идея?
Дополнительная информация:
Когда я использую другой запрос, который дает мне кратчайший ответ, он не разбивается
Sent: getId,03
(HEX) > A5 81 52 CS