g_reichert schrieb:
> Die Daten sollen aber temporär im Atmega (derzeit 644 aber Umzug auf
> 1284 geplant) gespeichert und weiterverarbeitet werden.
der 644 hat 4kB SRAM.
So weit so gut.
> Frage - wie macht man diese 1kB am besten handhabbar?
> Mit einem Variablen-Array (das geht bei 1kB wahrscheinlich gar nicht?!)?
Warum soll das nicht gehen?
Du hast 4kB SRAM, 1 kB benutzt du für das Array, in dem du die
eingehenden Bytes speicherst. Bleiben noch 3kB für die restliche
Programm-Benutzung. Normalerweise mehr als ausreichend.
> Daten im SRAM ablegen?
Ähm.
SRAM ist genau der Speicher, in dem Variablen vom Compiler angelegt
werden.
> Dabei ist zu bedenken, dass das eine kB eventuell noch umgerechnet
> werden muss, die Rohdaten sollen dabei erhalten bleiben. Dann müsste man
> also 2kB verwalten können.
Kommt drauf an.
Was soll dann weiter mit den Daten passieren und vor allen Dingen wie
schnell?
Irgendwas wird ja weiter damit passieren, zb. irgendwo ausgeben. Dann
hängt es davon ab, wie schnell ausgegeben werden muss bzw. wie aufwändig
die Umrechnung ist. Wenn das alles im Rahmen ist, kann man die
Umrechnung auch direkt in die Ausgabe integrieren. Dann muss man die
umgerechneten Werte unter Umständen überhaupt nicht speichern.
Aber selbst wenn.
Dann verbrauchst du eben 2kB für die Daten. Na und? Bei verfügbaren 4kB
sollte das noch immer kein Problem sein, wenn du nicht anderweitig im
Programm auch noch urrast.
> Wie würdet ihr das lösen?
Ohne das du etwas konkreter wirst, was denn diese Daten überhaupt sind,
bzw. worum es überhaupt geht, kann man da recht wenig sagen.
'One size fits all' funktioniert bei Basballkappen, aber selten in der
Programmierung. Daher ist es auch so wichtig, dass man im Zuge seiner
Ausbildung x verschiedene Varianten kennen lernt, damit man im
Einsatzfall unter einer Reihe von tauglichen Varianten wählen kann,
während man die, die im konkreten Fall nicht Erfolg versprechend sind,
gleich von vorne herein ausschliesst. Profis beherrschen schliesslich
nicht nur ihre Programmiersprache, sondern haben auch einen ganzen Sack
voll Standardverfahren jederzeit abrufbereit im Kopf parat - unter
anderem deswegen dauert es ja auch Jahre, bis man wirklich gut wird. Wie
beim Schachspiel, bei der die "Sprache" (welche Figur kann wie ziehen)
den geringsten Teil eines guten Spielers ausmacht.