Zitat Zitat von SprinterSB
Womit kollidiert denn struct? Wenn es so ist, hast du nen Designfehler.
Code:
If (buffers[i].Infobyte == 0) ...
Ich glaube da reden wir aneinander vorbei... ich will bloß die uint8_t in die unteren drei Bits schreiben und herauslesen...
Wird ein puffer nicht mehr gebraucht, dann wird dieses infobyte auf 0 gesetzt. Er steht dann wieder frei zur verfügung.

Zitat Zitat von SprinterSB
Es kommt auch darauf an, was an Speicher du sparen willst. Wenn du Flash sparen willst sieht die Antwort anders aus, als wenn du RAM sparen möchtest. Eine handvoll Bits zu sparen bedeutet idR einem anderen Code der empfindlich mehr Flash schluckt.
Ich möchte RAM sparen. Und zwar wird das dadurch realisiert, dass
zB 8 Puffer zur verfügung stehen. Alle schnittstellen können diesen
also sende- sowie als empfangspuffer verwenden.

Und nicht extra puffer für jede schnittstelle....
Damit werden die Puffer Optimal genutzt.