Bericht: Testkonzept fast fertig

This commit is contained in:
Matthias Biermann
2025-02-16 15:34:02 +01:00
parent f2d179a6f2
commit b221edf9f4
7 changed files with 151 additions and 62 deletions
-53
View File
@@ -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,