Problem bei AtMega128 mit RET-Befehl

Gast #218598
Lesenswert?
• ▲
▼
Ich versuche zur Zeit einen ATMEGA128 zu programmieren. Doch Leider
komme ich mit den Befehlen "rcall" und "ret" nicht klar.
Hab jetzt erstmal Testweise nur ein kleines Programm geschrieben.
Es soll eigentlich am PortB zwischen 0xAA und 0x55 hin- und
hergesprungen werden.
Hierzu wird das Unterprogramm "wait" benötigt, welches eine
Zeitschleife beeinhaltet:


  .DEVICE ATmega128
  .EQU var1=$AA
  .EQU var2=$55


LA:  ldi r17,var1
  out $18,r17

rcall wait

  ldi r17,var2
  out $18,r17

rcall wait

  rjmp LA



wait:  clr  r19
  ldi  r21,$FF
next2:  ldi   r20,$FF
next1:  cp    r19, r20
  breq   equal1
  dec  r20
  rjmp   next1
equal1: cp   r19,r21
  breq   equal2
  dec   r21
  rjmp   next2
equal2: ret




Leider Funktioniert es nicht.
Ich hab jetzt schon in verschiedenen Foren gelesen das dies mit dem
"M103C" Fuse-Bit zusammenhängt. Aber egal wie ich es setze bleibt
mein Problem.
Bei der Simulation mit AVR-Studio4 sieht man, dass beim Befehl
"rcall" der Stackpointer von 0x0000
auf 0xFFFE springt?!? Beim Anschließenden RET-Befehl bleibt er dann
hängen.
Weis jemand, wie ich die Fuse-Bits setzen muss, damit es Funktioniert?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.