Hallo Stomy,
Code:
int8 calc_crc(int8 smb_byte, int8 crc_in)
{
int8 crc_polyn= 0x07;
int8 smb_crc=crc_in;
for ( int i=0; i<8; i=i+1)
{smb_crc= (((smb_crc<<1)& 0xFF)
^(((smb_crc >> 7) ^ (sm_byte >> (7-i))) & 0x1)
? crc_polynom : 0);
}
return smb_crc;
}
- Wieso muss man ein int8 mit 0xFF verUNDen? (Wenn ich den C-Code richtig interpretiere...)
- Wo ist die Variable/Konstante "crc_polynom" definiert?
- Interpretiere ich den Dreizeiler richtig: IF(Ergebnis von boolsche Operation=TRUE) THEN smb_crc ="crc_polynom" ELSE smb_crc =0 ???
Zitat:Da habe ich auch schon nachgeschaut, leider hilft es mir nicht weiter.
Warum nicht?