Forum: Compiler & IDEs array attiny2313


von micha_ (Gast)


Lesenswert?

hallo zusamen
das program soll abhängig von der vorgabe aus drei unterschidlichen 
arrays lesen(zb. leicht,mittel,schwer)
die initialiesierung
unsigned char leicht[256] = {,,,,,,,,,,};
unsigned char mittel[256] = {,,,,,,,,,,};
unsigned char schwer[256] = {,,,,,,,,,,};
und in main über switch die werte aus ausgewehlten array hollen
kompilierung alles io aber es geht nicht,habe extra eine visuele ausgabe
mit led und es geht nicht
kann das sein dass die daten aus demm arrays die daten von program 
überschreiben?????????
danke micha_

von Gast (Gast) (Gast)


Lesenswert?

Hmm, nurmal so in den Raum gestellt, die Frage wieviel RAM denn so ein 
ATTiny2313 hat?

von micha_ (Gast)


Lesenswert?

128 byte ,aber ich habe gedacht dass man die daten auch im flash 
unterbringen kann

von hans (Gast)


Lesenswert?

Es reicht nicht an das Flash zu denken.
Man muß es dem Compieler auch sagen!

Denk auch da an die größe!

gruß hans

von Johannes M. (johnny-m)


Lesenswert?

micha_ wrote:
> kann das sein dass die daten aus demm arrays die daten von program
> überschreiben?????????
Wenn die Arrays im Programm genau so initialisiert sind wie oben, dann 
werden die im RAM angelegt und es müsste beim Compilieren zumindest 
irgendeine Warnmeldung geben. Wenn die Arrays im Flash liegen sollen, 
dann musst Du das auch hinschreiben. Dazu musst Du die pgmspace.h 
einbinden und die Arrays mit PROGMEM kennzeichnen. Steht aber alles im 
AVR-GCC-Tutorial sowie in der Doku der AVR-libc.

von micha_ (Gast)


Lesenswert?

also passt dass da reihn

von Hannes (Gast)


Lesenswert?

Klar passt das rein. Aber für die Applikation bleibt nicht mehr viel 
Luft.

von Johannes M. (johnny-m)


Lesenswert?

micha_ wrote:
> also passt dass da reihn
Das kann Dir keiner beantworten, weil uns Dein Programm leider nicht zur 
Verfügung steht. Bei drei Array mit je 256 Bytes bleiben noch 1,25 KiB 
für das Programm übrig.

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.