Ja ok.
Weil ich den Quellcode später jemanden überlassen will der 0 Plan von Programmieren hat. Deshalb sollte das so einfach und übersichtlich wie möglich gehalten werden.
Ok.
Ich habe jetzt gemerkt das das if in der initTelegramm Funktion falsch war und habe deswegen etwas korrigiert:
void initTelegramm() {
volatile byte bitIndex = 40;
for (volatile byte i = 0; i < sizeof(telegrammArray) / sizeof(telegrammArray[0]); i++) {
for (volatile byte y = 0; y < sizeof(telegrammArray[i]) / sizeof(telegrammArray[i][0]); y++) {
byte _word = pgm_read_word(&telegrammArray[i][y]);
initial_telegrammData |= ((uint64_t)_word << bitIndex);
bitIndex -= 1;
}
}
Jetzt passt auch die Reihenfolge der bits. ABER die crc Prüfsumme ist immer 0 ![]()