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

Gast #2565127
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
>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
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.