Hallo

Ich denke, der klassische Ansatz ist hier XOR:
Code:
inline uint8_t CreateChecksum()
{
	uint8_t CheckSum = 0;

	for(int j = 1; j <4; j++)
	{
      CheckSum ^= uartbuffer[j];
	}
	return CheckSum;
}
Ob das so funktioniert habe ich allerdings nicht getestet. Die zu prüfenden Bytes werden einzeln mit XOR verknüpft, fehlende oder zuviele Bits werden erkannt.

Gruß

mic