IRQ
17.06.2009, 15:13
Hallo liebe Roboternetz-Gemeinde,
ich habe einen Ringpuffer, in den ich periodisch Daten schreibe. Ab einem gewissen "Füllstand" möchte ich diese Daten dann an eine Funktion übergeben, die einen char-Pointer und die Array-Länge erwartet.
Einfachste Lösung wäre natürlich die Daten aus dem Ringpuffer in ein entsprechend großes Byte-Array zu kopieren und die Referenz darauf dann zu übergeben. Das ist aber leider schlecht möglich, denn das würde die RAM-Kapazitäten des Controllers sprengen. Den Ringpuffer möchte ich einführen um SRAM zu sparen im Vergleich zu einer Variante bei der ich jetzt zwei normale Byte-Arrays abwechselnd fülle und an die Funktion übergebe...
Meint ihr, es wäre möglich, mit Hilfe einer "Zwischenschicht" der Funktion vorzugaukeln, dass es sich um ein Byte-Array handelt? Vielleicht mit Funktionspointer???
ich habe einen Ringpuffer, in den ich periodisch Daten schreibe. Ab einem gewissen "Füllstand" möchte ich diese Daten dann an eine Funktion übergeben, die einen char-Pointer und die Array-Länge erwartet.
Einfachste Lösung wäre natürlich die Daten aus dem Ringpuffer in ein entsprechend großes Byte-Array zu kopieren und die Referenz darauf dann zu übergeben. Das ist aber leider schlecht möglich, denn das würde die RAM-Kapazitäten des Controllers sprengen. Den Ringpuffer möchte ich einführen um SRAM zu sparen im Vergleich zu einer Variante bei der ich jetzt zwei normale Byte-Arrays abwechselnd fülle und an die Funktion übergebe...
Meint ihr, es wäre möglich, mit Hilfe einer "Zwischenschicht" der Funktion vorzugaukeln, dass es sich um ein Byte-Array handelt? Vielleicht mit Funktionspointer???