CRC8 как посчитать
 Добавлено: 30.10.2017 10:24:18
Добавлено: 30.10.2017 10:24:18Всем привет!
столкнулся тут с необходимостью считать црц. в документации :
Контрольная сумма CRC8 по полям Id и Data (без учета маскирования).
Начальное значение: 0xFF (Полином: x 8 +x 5 +x 4 +1 / 0x31 / “CRC-8-Dallas/Maxim”).
методом тыка нашел что команда
#$7D#$C1#$00#$06#$00#$00#$47 дает crc #$31
#$B8#$C1#$00#$06#$00#$00#$47 дает crc #$CD
пробовал разные варианты, последний
но результат не тот. может кто сталкивался ?
			столкнулся тут с необходимостью считать црц. в документации :
Контрольная сумма CRC8 по полям Id и Data (без учета маскирования).
Начальное значение: 0xFF (Полином: x 8 +x 5 +x 4 +1 / 0x31 / “CRC-8-Dallas/Maxim”).
методом тыка нашел что команда
#$7D#$C1#$00#$06#$00#$00#$47 дает crc #$31
#$B8#$C1#$00#$06#$00#$00#$47 дает crc #$CD
пробовал разные варианты, последний
- Код: Выделить всё
- function TKKM_5200K.CRC3(Data: string): string;
 var i,c,j:cardinal;
 Value: word;
 begin
 Value := $FF;
 for j := 1 to Length(Data) do
 begin
 Value := Value xor Ord(Data[j]);
 for i := 0 to 8 do
 begin
 if odd(Value) then
 //1Value := (Value shr 1) xor $31
 Value:=((Value xor $31) shr 1) or $80
 else
 Value := (Value shr 1);
 end;
 end;
 result := char(Value);
 end;
но результат не тот. может кто сталкивался ?
