Forum: Mikrocontroller und Digitale Elektronik ASM Mega32 StackPointer


von Martin (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ein neues Prob(Source angehängt). Bei meinem A2D-Progi (von VMLAB)
geklaut funktioniert zunächst alles wie es soll, bis dann etwa nach 100
sec folgende Fehlermeldung auftaucht:

[PC = $0024, Time =  108.66 ms]: Stack underflow; pushing data into
address < $60: I/O or Registers space

ich habe den StackPointer beobachtet, und mir fiel auf, daß dieser
kontinuirlich sinkt. Scheinbar kommt es von dem interrupt. Wie kann ich
dies verhindern?

Im vorraus besten Dank!

von Peter (Gast)


Lesenswert?

auf den ersten blick seh ich nur das deine interrupt-routine mit ret
statt reti endet

Peter

von Martin (Gast)


Lesenswert?

Hi,

ja das war ein Versuch, der Fehler tritt mit beiden Versionen auf.

Gruß

martin

von mmerten (Gast)


Lesenswert?

Deine Interrupt-Tabelle ist falsch. Beim MEGA32 ist jeder Eintrag 2
Worte lang da dieser ja mehr wie 8k FLASH hat. Also entweder vor jeden
Int-Vector eine entsprechende .org Anweisung oder mit entsprechenden
NOPs anpassen.

von Martin (Gast)


Lesenswert?

Hi,

auch hiermit kein Glück, der Fehler tritt jetzt noch früher auf.
Ich denke ich habe hier ein Problem mit einem auftretendem Interrupt
den ich nicht behandele.

Kann ich bei VMLAB irgendwie die interrrupts tracen?

Gruß
Martin

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.