Zitat Zitat von spunky9003 Beitrag anzeigen
ok, ich probiere das mal...

...hab dann noch überlegt, alle Daten bit-weise zu übertragen, es sollen ja mehrere Module seriell verbunden werden, könnte dann bei 8 Modulen so aussehen, das erste Byte gibt eine Fehlermeldung weiter, das zweite Byte gibt die aktuelle Modul-Nummer ans nächste Modul:

Modul 1 sendet: 00000000 00000001 (Modul 1 ok)
Modul 2 sendet: 00000000 00000010 (Modul 1+2 ok)
Modul 3 sendet: 00100000 00000011 (Modul 1+2 ok, Modul 3 Fehler)
Modul 4 sendet: 00100000 00000100 (Modul 1+2+4 ok, Modul 3 Fehler)
Modul 5 sendet: 00100000 00000101 (Modul 1+2+4+5 ok, Modul 3 Fehler)
Modul 6 sendet: 00100000 00000110 (Modul 1+2+4+5+6 ok, Modul 3 Fehler)
Modul 7 sendet: 00100010 00000111 (Modul 1+2+4+5+6 ok, Modul 3+7 Fehler)
Modul 8 sendet: 00100010 00001000 (Modul 1+2+4+5+6+8 ok, Modul 3+7 Fehler)

Auf dem Modul brauch keine Auswertung erfolgen, es muss nur die empfange Modul-Nummer um 1 erhöht werden und bei einem Fehler muss ein bit an der richtigen Stelle auf 1 gesetzt werden.

---

Edit: mit der binären Übertragung brauche ich nur 3 kByte Programmspeicher, da spare ich mir das ganze String-Geraffel, warum nicht gleich so...
schön zu sehen, dass der Verzicht auf die String Klasse, wie ich vermutet habe, tatsächlich so viel Speicher-Ersparnis bringt.
Jetzt spiel doch mal ein bisschen mit den ANSI C strings rum, und sei es nur, um klassisches C zu lernen: ich bin sicher, dass der Speicherbedarf selbst dann nicht wieder ins Monströse anwachsen wird.