Stacküberlauf??

Gast #61727
Lesenswert?

Hallo,
wie kann ich in einem laufendenden Programm einen Stack-Überlauf
verhindern?. Es wird ständig eine Programmschleife durchlaufen mit
200-facher Abfrage ADC0, 200-facher Abfrage ADC1,Ausgabe dieser Werte
auf einem Display, sowie Zeitausgabe. Bei 8MHz Taktfrequenz unterbricht
Timer 0 (Vorteiler 1024,TCNT0=150,Register=74 ergibt zusammen einen 1
sec-Takt),um eine Zeitangabe zu ermöglichen. Weiterhin wird über PWM
eine Gleichspannung für eine Analogregelung produziert. Bei niedriger
Gleichspannung (PWM-Wert< 300) funktioniert alles einwandfrei. Bei
größeren PWM-Werten steigt entweder der Mega8 oder das Display aus .
Kann mir da jemand helfen?

mfg Helmut
Gast #61729
Lesenswert?

Vermutlich den Zeitbedarf für die LCD-Anzeige nicht berücksichtigt
(Programmfehler), die sind ja bekanntlich nicht die schnellsten, aber
der Benutzer braucht ja auch Zeit um die dargestellte Information zu
lesen.
Gast #61730
Lesenswert?

Ich würde beispielsweise das Display 1x, max. 3x pro Sekunde
aktualisieren. Schneller lohnt kaum.
Einen Stacküberlauf bekommt man dann, wenn das Programm nicht richtig
geschrieben wurde. Von allein kommt der nicht vor. Anders als beim PC
muß man sich hier selbst drum kümmern.

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