stuck initialisieren

Gast #1757958
Lesenswert?
• ▲
▼
Hallo,
Ich bin noch ein blutiger Anfänger aber vieleicht hat ja jemand lust mir 
zu helfen.
Folgendes Problem:
Ich habe ein leines Programm in avr studio 4 geschrieben das einfach nur 
Ports einschalten und ausschalten soll.
Aber wenn ich den befehl RCALL benutzen will dann springt er entweder 
nicht um, oder bleibt auf dem Befehl sitzen.
Meine Frage:
Wie initialisiere ich den stack richtig, oder is das überhaupt das 
Problem?

Hier der code:
1
.include "m32def.inc"
2

3
ldi r16,255
4
out ddra,r16
5
 
6
ldi r16, LOW(RAMEND)  
7
out SPL, r16
8
ldi r16, HIGH(RAMEND) 
9
out SPH, r16
10

11
rjmp mainloop
12

13
wait:
14
ldi r16,8
15

16
wt:
17
ldi r17,170
18

19
wt2:
20
ldi r18,120
21

22
wt3:
23
dec r18
24
brne wt3
25
dec r17
26
brne wt2
27
dec r16
28
brne wt
29
ret
30

31
mainloop:
32

33
ldi r16,0
34
out porta,r16
35
rcall wait
36

37
ldi r16,1
38
out porta,r16
39
rcall wait
40

41
ldi r16,2
42
out porta,r16
43
rcall wait
44
rjmp mainloop
#1757983
Lesenswert?
• ▲
▼
cypher schrieb:

> Aber wenn ich den befehl RCALL benutzen will dann springt er entweder
> nicht um, oder bleibt auf dem Befehl sitzen.

Ich nehme an, du sprichst vom Simulator?

Ist dir bewusst, dass es dort 2 Möglichkeiten gibt, in Einzelschritten 
durch dein Programm zu gehen?
Einmal F10 und einmal F11

Der Unterschied:
Bei F10 werden rcall nicht weiter in Einzelschritten verfolgt sondern 
der Simulator taucht in das Unterprogramm weg und meldet sich erst 
wieder, wenn das Unterprogramm den ret durchführt.

F11 hingegen macht den Einzelschritt in das Unterprogramm hinein.
Gast #1758807
Lesenswert?
• ▲
▼
Danke schön :)
Der simulator war gemeint.
Danke für eure Hilfe und die schnellen Posts :)
nun funktoniert alles! Ich hatte das Programm erst garnicht übertragen 
um es auszuprobieren! Es lag nur daran das ich F10 und nicht F11 benuttz 
habe.

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.