www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Stacküberlauf??


Autor: Helmut Hofmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Glaskugel sagt mir, du hast einen Programmierfehler.
Wahrscheinlich Zeile 35 oder 39.

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Helmut Hofmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich aktualisiere die LCD-Anzeige nur 1x/min, trotzdem habe ich das oben
genannte Problem.
Wie kann ich denn den genauen Zeitbedarf der LCD-Anzeige ermitteln?

gruß Helmut

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grazy horse hat Recht...

Ohne weitere Informationen ist das wie an der Börse oder beim
Pferderennen...

Bit- & Bytebruch... - ...HanneS...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.