improved crc
This commit is contained in:
parent
7a84b80126
commit
86e289f56f
@ -172,14 +172,19 @@ uint32_t Checksum_EEPROM(uint8_t const *data, size_t len)
|
||||
{
|
||||
if (data == NULL)
|
||||
return 0;
|
||||
uint32_t crc = 0;
|
||||
uint32_t crc, mask;
|
||||
crc = 0xFFFFFFFF;
|
||||
|
||||
while (len--)
|
||||
{
|
||||
crc ^= *data++;
|
||||
for (uint8_t k = 0; k < 8; k++)
|
||||
crc = crc & 1 ? (crc >> 1) ^ 0xb2 : crc >> 1;
|
||||
{
|
||||
mask = -(crc & 1);
|
||||
crc = (crc >> 1) ^ (0xEDB88320 & mask);
|
||||
}
|
||||
}
|
||||
return crc ^ 0xff;
|
||||
return ~crc;
|
||||
}
|
||||
|
||||
void dumpEEPROM(uint16_t memoryAddress, uint16_t length)
|
||||
|
Loading…
x
Reference in New Issue
Block a user