bufID:array[1..10] of char;
tid:='07';
for i:=1 to length(tid) do
begin
tidHex:=tidHex+intToHex(ord(tid[i]),1);
end;
strpcopy(@bufid,tidhex);
rst:=WriteFile(comhand,bufID,length(bufid),wcount,nil);我要向串口以HEX写"07",但我用以上代码不成功,用下载的工具,在发送框里输入07,再把hex形式发送打上勾就成功,我要怎么写代码呢
tid:='07';
for i:=1 to length(tid) do
begin
tidHex:=tidHex+intToHex(ord(tid[i]),1);
end;
strpcopy(@bufid,tidhex);
rst:=WriteFile(comhand,bufID,length(bufid),wcount,nil);我要向串口以HEX写"07",但我用以上代码不成功,用下载的工具,在发送框里输入07,再把hex形式发送打上勾就成功,我要怎么写代码呢
begin
tidHex:=tidHex+intToHex(ord(tid[i]),1);
end;
================================================
if Length(tid) mod 2 <>0 then tid:='0'+tid;
for i:=1 to length(tid) do
begin
tidHex:=tidHex+char(StrToInt('$'+Copy(tid,i,2)));
inc(i);
end;
c++里有0x开头。如0x10 = 16(十进Zhi)
delphi里用 $ 如 $20 = 32 (十进)在数据组里你要一个个的赋值。如
bufID[0] := $10 //DLE
bufID[1] := $31