Hallo.
Ich schreibe gerade an einem Programm (in Assabler) das insgesamt 8
bytes verschickt. Ich habe diese Routine des verschickens mit einer
Subroutine aufgerufen (rcall byte) unten dran steht auch ret damit es
danach wieder zurück kommt. Nun muss ich aber noch pausen von
verschiedenster länge in diese Subroutine einbauen. Gesagt getan:
Gleiches spiel wie mit der Subroutine selbst. Hier mal ein beispiel
Programm wie ich es habe:
------------------------------------------
.include "2313def.inc"
ldi r16, 0b11111111
out DDRB, r16
ldi r16, 0b00000000
out PORTB, r16
rcall loop
rjmp ende
loop:
rcall pause
ret
pause:
ldi r16, 0b11111111
out PORTB, r16
ret
ende:
ldi r16, 0b11110000
out PORTB, r16
rjmp ende
------------------------------------------
Wenn die subroutinen logisch abgearbeitet werden würden, dann würde das
Programm bis zur ende schleife kommen und die letzten 4 LEDs würden nur
leuchten. Sonst wenn es hängenbleibt zwischen alle an und alle aus hin
und her wechseln. Auf grund der Geschwindigkeit, müsste also alles
leuchtend erscheinen. Dies tut es auf dem programmierten
Mikrocontroller und beim Simulator vom AVR Studio nicht.
Nun meine Frage: Was mache ich falsch? Ist es überhaupt möglich
subroutinen zu verschachteln? Wenn ja wie?
Gruß Dominik
Habs gefunden ... hätte ich das tutorial ganz gelesen, wäre die frage überflüssig gewesen! 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.