Autor Beitrag
Enzo
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 03.02.06 13:30 
Wer Kann mit helfen .
Ich soll eine Verbindung mit einem Modbus geraet durchfuehren abe es Klappt nicht.
Der CRC code , von meinem unit ist falsch.

Ich mus mit CRC=$FFFF
und der Poly=A001

Wer kann mir helfen

mein UNIT
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
Function Tform1.CRC16(InString: String) : Word;
Var
  CRC ,test   : Word;
  Index1,
  Index2  : Byte;
begin
  CRC := $FFFF;
  For Index1 := 1 to length(InString) do
  begin
    CRC := (CRC xor (ord(InString[Index1]) SHR 8));
    For Index2 := 1 to 8 do
      if ((CRC and 1) = 1) then
       CRC := (CRC shr 1) xor $A001
      else
        CRC := (CRC shr 1) ;
  end;
 CRC16 :=   (CRC and $FFFF)  ;
end;


Ich bedanke mich ihm voraus
enzo

Moderiert von user profile iconGausi: Beitragsformatierung überarbeitet.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Fr 03.02.06 15:20 
Ich kann zwar aus Modbus(Modul-Bus,Modifikations Bus....) nicht allzuviel herleiten aber ist ja auch egal, wieso nimmst du denn nicht einfach eine fertige CRC Implementierung...
Enzo Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 03.02.06 20:52 
user profile icondigi_c hat folgendes geschrieben:
Ich kann zwar aus Modbus(Modul-Bus,Modifikations Bus....) nicht allzuviel herleiten aber ist ja auch egal, wieso nimmst du denn nicht einfach eine fertige CRC Implementierung...


hast du eine fertige CRC Implementierung????