Atmega8 / 88Tiefe der Schachtelung von Funktionen

Gast #3191405
Lesenswert?

Guten Abend zusammen,

ich wollte ein etwas aufwendigeres Programm mit meinem Atmega8 bzw 
88(ich habe hier beide rumliegen) schreiben und wollte vorab wissen bis 
zu welcher Tiefe ich Funktionsaufrufe schachteln kann.
 Mein Prof meinte damals nämlich dss nich mehr als zwei ineinandr 
verschachtelte Funktionen aufgerufen werden können weil sonst der AVR 
"aussteigt" habt ihrdazu Erfahrungswerte?

Liebe Grüße
Gast #3191411
Lesenswert?

> Mein Prof meinte damals nämlich dss nich mehr als zwei ineinandr
>verschachtelte Funktionen aufgerufen werden können weil sonst der AVR
>"aussteigt" habt ihrdazu Erfahrungswerte?

Unsinn. Solange der Stack reicht kannst du verschachteln solange du 
willst.
Gast #3191414
Lesenswert?

Bis der Stack voll ist. Die (maximale) Größe des Stack ist gleich der 
des Ram. Hast du noch andere Sachen im Ram halt entsprechend weniger. 
Außerdem ist zu beachten was bei einem Funktionsaufruf alles auf den 
Stack gelegt wird. Das ist minimal die Rücksprungadresse kann aber auch 
mehr sein.
Gast #3191423
Lesenswert?

soll heissen ist also anhängig von der anzahl der bytes die die lokalen 
Variablen der funktionen brauchen + deren rücksprungaddressen ..richtig?

wo kann ich denn die aktuelle Stack / RAM-Auslastungs ablesen wenn ich 
nicht im genuss eines AVR_Studio kompatiblen flashers bin sondern nur 
einen USBASP?

liebe grüße

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