Forum: Mikrocontroller und Digitale Elektronik programm funktioniert nicht wenn ich constanten definiere


von unknown (Gast)


Lesenswert?

Hallo, ich habe ein programm, das funktioniert beim simulieren mit
avrstudio super, wenn ich die Konstanten aus dem Code lösche.

Wenn ich die Konstanten hinein tue in das programm, dann geht die
berechnung nicht mehr.

an was kann das liegen?

von Dominik (Gast)


Lesenswert?

Wie wäre es, wenn du mal den Quellcode hier rein schreibst?

von unknown (Gast)


Lesenswert?

Ok, hier mal der Code.

So funktioniert die Berechnung.

Mit den oberen Konstanten (die jetzt als Kommentar dort stehen)
funktioniert die Berechnung nicht mehr.

von Axel Rühl (Gast)


Lesenswert?

Anhang vergessen..?

von unknown (Gast)


Angehängte Dateien:

Lesenswert?

Sorry, jetzt aber mit dem Code, es wäre wirklich dringend.

von Fritz Ganter (Gast)


Lesenswert?

Also, eigentlich legt er die Konstanten nach dem Programmstart im RAM
ab, ich denke, ihm geht lediglich das RAM aus.

von unknown (Gast)


Lesenswert?

Der Atmega hat ja 2KB RAM, ich habe knapp 40 Konstanten mit jeweils 41
char Variablen

Das ergibt ca. 1,5kB

Dann ist doch noch mehr als genug Platz für die paar double-Werte!

von Fritz Ganter (Gast)


Lesenswert?

Und was ist mit char name[ANZ_BERGE][20] in der Berechnung? Diese
Variable ist lokal, d.h. sie wird auf den Stack gelegt. Und der dürfte
dir überlaufen.

Die avr-libc hat ein strcpy_P, damit kannst du deine Daten in den Flash
legen, und die Funktion kann sie dir rauskopieren. Vielleicht hat dein
Compiler sowas auch.

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.