erstmal danke, für deine hilfe.
bei der CRC handelt es sich um ein CCITT standrisiertes CRC Polynom:
mit 2Bytes BccLo & Bcchi
also, das mit XOR ist schon mal kein Problem.Bn=N^16+N^12+N^5+Bn-1
A. Init BccLo=0xFF, BccHi=0xFF
B. Für jedes Byte das gesendet und empfangen wird
new=new XOR BccLo
tmp=new<<4
new=tmp XOR new
tmp=new>>5
BccLo=BccHi
BccHi=new XOR tmp
tmp=new<<3
BccLo=BccLo XOR tmp
tmp=new>>4
BccLo=BccLo XOR tmp
C. Negieren Bit by Bit BccLo & BccHi: CLC_L=~BccLo CLC_H=~BccHi
das mit dem bitverschieben müsste eigentlich auch möglich sein. das problem ist nur den wert in die entsprechende variable zu übertragen.
Also mein sender hängt defenetiv keine bytes oder bits dran, denn bei dem sender handelt es sich um ein selbstgeschriebenes programm, sendet genau 6 bytes + 2bytes CLC_L,CLC_H
Noch eine zusätzliche Fragen:
wenn ích die bytes empfange (input packet(1)...)
muss es doch möglich sein z.b. das 2. byte mit einem vorgegebenen wert zu vergleichen, und daraufhin eine reaktion auszuführen.
gruß
xeus
Lesezeichen