Attiny macht seltsames

OP #2732155
Lesenswert?

Guten Tag,
ich bin grad dabei eine Software für nen ATTiny2313 zu schreiben welche 
über den UART, per RS232 Daten empfängt. Das Programm wartet auf darauf 
das es ", Adresse:" empfängt und soll anschließend die vier 
darauffolgenden Zeichen (Zahlen) prüfen. Alle Ausgaben auf PortB sind zu 
Debugzwecken. Die Jumps welche auf sich selber zeigen auch. Die Stelle 
im Code (Dateianhang) wo der Fehler auftritt ist folgende:
1
out PortB, R20
2
stop12:
3
;rjmp stop12
4

5
  cp R16, R19
6
  brne exit
7
  cp R17, R20
8
  brne exit
9

10
  ldi R16, 0x55
11
  out PortB, R16
12
;  rcall Pause
13

14
stopx:
15
rjmp stopx
16

17
  exit:
18
ldi R16, 0xf0
19
out PortB, R16
20
stop:
21
rjmp stop
22

23
  pop ZH
24
  pop ZL
25
  pop R0
26
  pop R17
27
  pop R16
28
ret

Wenn ich den rjmp stop12 nicht auskommentiert habe bleibt das Programm 
brav stehen und zeigt auch an was ich auf PortB ausgegeben habe. Wenn er 
auskommentiert ist muss es logischerweise weitergehen auf die beiden 
darauffolgenden Vergleiche. Dort muss er entweder bei rjmp stopx oder 
rjmp stop zum stehen kommen was man dann an den Ausgaben an PortB 
erkennen müsste. Das Programm zeigt allerdings nichts an PortB an und 
bleibt auch nicht stehen. Zumindest nicht in der Praxis, im Simulator 
funktioniert alles perfekt! Weiß jemand rat?

Danke im vorraus.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren