Здравствуйте, уважаемые.
возникла необходимость управления железом (С2000 фирмы БОЛИД). Ситуация следущая: с СОМ порта идут посылки вида :
7F 06 01 0D 00 00 BF
7F 06 01 53 00 00 30
02 06 01 01 00 00 D6
03 06 01 01 00 00 E1
04 06 01 01 00 00 64
05 06 01 01 00 00 53
....
где BF для первого случая и 30 для второго... являются CRC-8
перерыл весь инет не один из предложенных вариантов под delpi для вычисления crc не подходят.
Подскажите, люди добрые как посчитать crc

отталкивался от такого варианта :
http://www.programmersforum.ru/showthread.php?t=110937Код:
function GetCRC(S:String):String;
var i, j:integer;
c:byte;
begin
c := 0;
for i := 1 to length(S) do begin
c := c xor ord(S[i]);
for j := 0 to 7 do begin
if c and $80 = $80
then c := (c shl 1) xor 1
else c := (c shl 1);
end;
end;
result := IntToHex(c, 4);
end;
edit1.text:=(GetCRC(chr($7F)+chr($06)+chr($01)+chr($0D)+chr($00)+chr($00));
в итоге получаю 7C вместо BF