crc 검사 학습 CRC-CCITT 다항식: G(x) = X16+X12+X5+1

735 단어 delphi 학습
 function GetCRCWord(const DataStr: string): Word;
var
  Crc16: word;
  aByte: Byte;
  tmpStr: string;
  i, j: integer;
begin
  Crc16 := $0000;
  if DataStr = '' then Exit;
  tmpStr := DataStr + #0#0;
  for i := 1 to Length(tmpStr) do
  begin
    aByte := Ord(tmpStr[i]);
    for j := 0 to 7 do
    begin
      if (crc16 and $8000) <> 0 then  //    crc16        1
      begin
        crc16 := (Crc16 shl 1) xor (aByte shr 7);
        crc16 := crc16 xor $1021;
      end
      else crc16 := (Crc16 shl 1) xor (aByte shr 7);
      aByte := aByte shl 1;
    end;  // for
  end;
  Result := Crc16;
end;


 
아직 검증 방법이 없습니다.
수신한 데이터를 crc코드로 고저위를 교환하고 CRC 검사를 다시 진행하며 0이 데이터가 정확하다는 것을 증명하면

좋은 웹페이지 즐겨찾기