ATMega644P, "Aussetzer" bei Programmdurchlauf (LED Würfel 7x7x7)

Gast #2565127
Lesenswert?

Hallo Ihr Lieben,

ich habe mir einen 7x7x7 LED Würfel gebaut, der über einen ATMega644P 
und 74HC573 gesteuert wird. Prinzipell funktioniert alles wunderbar.
Mittlerweile habe ich viele verschiedene Programme erstellt, die ich in 
einer Endlosschleife ablaufen lasse.

Prinzip:
  while (1)
    {
    // Programm1
    // Programm1
    // Programm1
    // Programm1
    // Programm1
    // ...
    }

Wenn ich die Programme einzeln bis max. 4 Programme auf den ATMega 
aufspiele funktioniert alles wie gewollt.

Wenn ich allerdings alle meine Programme aufspiele hat der ATMega ab 
einem Punkt "Aussetzer". Bis zu diesem gewissen Punkt laufen die 
Programme sauber durch, dann werden die Bilder "zerrissen" und der 
Programmdurchlauf bricht (für mein Empfinden) vorzeitig ab und beginnt 
von vorne.
Das Programm hat eine Größe von 18.5kB (28% Speicherbelegung).

An Variablen welche sich gegenseitig in die Quere kommen liegt das 
Problem definitiv nicht.

Wäre es geschickt die einzelnen Programme in Unterprogramme zu packen 
und über die Endlosschleife aufzurufen?
Vielleicht hat jemand eine Idee, ich weiß nicht weiter... So groß war 
bisher noch keines meiner Mikrocontroller-Projekte.

Den Code (ca. 100 Din A4-Seiten) möchte ich ungern hochstellen...


Danke
zander
Gast #2565155
Lesenswert?

>Wenn ich allerdings alle meine Programme aufspiele hat der ATMega ab
>einem Punkt "Aussetzer". Bis zu diesem gewissen Punkt laufen die
>Programme sauber durch, dann werden die Bilder "zerrissen" und der
>Programmdurchlauf bricht (für mein Empfinden) vorzeitig ab und beginnt
>von vorne.

Hört sich nach Stack Überlauf an. Hast du grosse lokale Arrays?
Die erscheinen nicht in der Speicherübersicht.
Gast #2565205
Lesenswert?

Hallo Holger,

Arrays hab ich, jede Menge. Das Größte hat 344 Positionen (sagt man das 
so?).
Wenn ich die Programme alleine auf den ATMega aufspiele funktioniert 
alles, warum sollte es bei mehreren Programmen plötzlich Probleme mit 
den Arrays geben?
Als "Speicherübersicht" nutze ich die Info, welche ich von AVR Studio 
nach dem Kompiliern bekomme.

Kann ich den Speicherplatz der Array irgendwie sichtbar machen?

Gruß
zander

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren