Bericht: Testkonzept fast fertig
This commit is contained in:
@@ -3,14 +3,6 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
// PC speichert mit LITTLE ENDIAN
|
||||
|
||||
// Berechnen einer 8 Bit CRC-Pruefsumme
|
||||
uint8_t calcCRC8(uint8_t* data, size_t size);
|
||||
|
||||
// Berechnen einer 16 Bit CRC-Pruefsumme
|
||||
uint16_t calcCRC16(uint8_t* inBytes, size_t size);
|
||||
|
||||
// Berechnen einer 32 Bit CRC-Pruefsumme mit allen Parametern
|
||||
uint32_t calcCRC32(
|
||||
uint8_t* inBytes,
|
||||
@@ -51,51 +43,6 @@ int main()
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
uint8_t calcCRC8(uint8_t* inBytes, size_t size)
|
||||
{
|
||||
const uint8_t polynomial = 0xD5;
|
||||
uint8_t crc = 0x0; // initial value
|
||||
|
||||
for (size_t i = 0; i < size; i++) {
|
||||
crc ^= inBytes[i];
|
||||
|
||||
for (int bit = 0; bit < 8; bit++) {
|
||||
if ((crc & 0x80) != 0) {
|
||||
crc = (uint8_t) ((crc << 1) ^ polynomial);
|
||||
}
|
||||
else {
|
||||
crc = (uint8_t)(crc << 1);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return crc;
|
||||
}
|
||||
|
||||
|
||||
uint16_t calcCRC16(uint8_t* inBytes, size_t size)
|
||||
{
|
||||
const uint16_t polynomial = 0x1021;
|
||||
uint16_t crc = 0;
|
||||
|
||||
for (size_t b = 0; b < size; b++) {
|
||||
crc ^= (uint16_t) (inBytes[b] << 8);
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if ((crc & 0x8000) != 0) {
|
||||
crc = (uint16_t) (crc << 1) ^ polynomial;
|
||||
} else {
|
||||
crc = (uint16_t)(crc << 1);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return crc;
|
||||
}
|
||||
|
||||
|
||||
uint32_t calcCRC32(
|
||||
uint8_t* inBytes,
|
||||
size_t size,
|
||||
|
||||
Reference in New Issue
Block a user