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


von Benjamin B. (bennie)


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-Tutorial:_7-Segment-Anzeige
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

von Sven P. (Gast)


Lesenswert?

Womit übersetzt du denn den Code?

von Benjamin B. (bennie)


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

von peter-neu-ulm (Gast)


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.

von Benjamin B. (bennie)


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

von Jens (Gast)


Lesenswert?

> erst einmal Herzlich Willkommen !
Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.