mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehler in Beispielcode AVR Tutorial "Multiplexing"!


Autor: Benjamin B. (bennie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

erst einmal Herzlich Willkommen !
Bin gerade dabei, mich in die AVR Assembler-Programierung einzuarbeiten. 
Erst einmal Glückwunsch zu dem sehr gut verständliche AVR-Tutorial.
Leider klappt der Code für das Multiplexing einer 7-Segmentanzeige (zu 
finden auf der Seite
http://www.mikrocontroller.net/articles/AVR-Tutori...
Beispiel ganz unten)
gibt die Fehlermeldung "Uninitialized stack pointer used at 0x0076" aus. 
Leider kann ich den Fehler nicht finden. Kann mir dort jemand 
weiterhelfen? Heißt das der Code ist in Codezeile 0x0076 falsch, oder 
des Stack-pointer mit der Adresse 0x0076 ist falsch?

Ciao,
Bennie

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Womit übersetzt du denn den Code?

Autor: Benjamin B. (bennie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Haku,

ich übersetzen den Code mit AVR Studio 4.14 (und angeschlossenem 
STK500). Funktioniert auch in der Simulation nicht, unabhängig, ob ich 
den ATMega8 (für den das Program geschrieben ist) oder den ATMega8515 
verwende.

Grüsse,
Bennie

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versteh die Meldung eben so: In Zeile 76 ist ein Befehl, der auf den 
Stackpointer angewiesen ist, da  meckert der Compiler, dass die 
Initialisierung noch nicht erfolgt ist.

Autor: Benjamin B. (bennie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK,
danke für die Antworten.
Habe den Fehler gefunden: Lag zwischen den Ohren!
Der Code (im AVR Tutorial) ist richtig, funktioniert nur nicht, wenn man 
den ATMega8 mittels "m8515def.inc" und den Mega8515 mit "m8def.inc" 
betreiben will. Da kann mann lange im Simulationsmodus im AVRStudion 
nach dem Fehler suchen und sich über das komische Verhalten insbesondere 
bei Stack-Rücksprüngen wundern.

Ciao,
Bennie

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> erst einmal Herzlich Willkommen !
Danke!

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.