Forum: Mikrocontroller und Digitale Elektronik atmeag128 großes array


von Stefan H. (stefan0985)


Lesenswert?

servus

ich hab mal wieder ein problem, wo ich bitte ein wenig unterstützung 
brauche.
ich programmiere mit avr studio in C einen Atmega128.
dabei hab ich jetzt 2 probleme.
1. ich habe ein array mit 2048 einträgen je 2byte. also ein array der 
größe 4,096 kbyte, was für den SRAM des Atmega128 ja schon zu groß ist.
Meine idee ist jetzt, diese array im Programmspeicher abzulegen, da das 
array eh nicht verändert werden muss. und der flash programmspeicher hat 
ja 128kbyte.
 dazu müsste ich das array doch als constante oder so definieren oder?
so wie wenn ich zum beispiel pi definier: #define PI 3.1415
aber ich hab's leider nicht hinbekommen und konnte auch nirgends was 
dazu finden.
die zweite sache ist
2. um das programm universeller zu machen, möchte ich es ermöglichen per 
UART 3 variablen zu ändern. meine frage dazu ist, wie muss ich die 
variablen abspeichern, damit diese auch nach einem aus- und wieder 
anschalten noch verfügbar sind? muss ich die variablen dazu im EEPROM 
speicher? habe ich das richtig verstanden? oder geht das gar nicht?

vielen dank schonmal im vorraus

von Karl H. (kbuchegg)


Lesenswert?

Stefan Haller schrieb:

>  dazu müsste ich das array doch als constante oder so definieren oder?
> so wie wenn ich zum beispiel pi definier: #define PI 3.1415

Nein.

> aber ich hab's leider nicht hinbekommen und konnte auch nirgends was
> dazu finden.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29

> 2. um das programm universeller zu machen, möchte ich es ermöglichen per
> UART 3 variablen zu ändern. meine frage dazu ist, wie muss ich die
> variablen abspeichern, damit diese auch nach einem aus- und wieder
> anschalten noch verfügbar sind? muss ich die variablen dazu im EEPROM
> speicher?

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#EEPROM

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.