function DoCRC (Data1, Data2 : Byte) : Byte;
var crc_tmp, inp : Byte;
begin
crc_tmp := 0;
[size=9][color=gray]------------ Дoбавленo в 14.20:[/color][/size]
inp := Data1 xor Data2;
if (inp and $01) <> 0 then crc_tmp := crc_tmp xor $5e;
if (inp and $02) <> 0 then crc_tmp := crc_tmp xor $bc;
if (inp and $04) <> 0 then crc_tmp := crc_tmp xor $61;
if (inp and $08) <> 0 then crc_tmp := crc_tmp xor $c2;
if (inp and $10) <> 0 then crc_tmp := crc_tmp xor $9d;
if (inp and $20) <> 0 then crc_tmp := crc_tmp xor $23;
if (inp and $40) <> 0 then crc_tmp := crc_tmp xor $46;
if (inp and $80) <> 0 then crc_tmp := crc_tmp xor $8c;
Result := crc_tmp;
end;
CRC := DoCRC (Ord (ID_Command), 0);
В чем проблема ?