Gast
#11821
Hallo,
ich habe folgenen Programmauszug getestet in der Schaltung und es
funktionierte nicht.
Nach der Simulation stellte ich fest, dass nach einem rcall-Befehl es
nicht zum Ausgangspunkt zurueckspringt, sondern in einer Endloasschleife
wieder an die erste .db-Anweisung zurueck.
.include "4433def.inc"
.def lcd0 = r18
.def men0 = r19
.def cou0 = r20
.def all0 = r21
.def all1 = r17
.equ LCD_PORT = PORTD
.equ LCD_DD = DDRD
...etc...
MEN1: .db "etc"
MEN2: .db "hgjewg"
MEN3: .db "sdfs"
... etc ...
ldi all0, 0b01111111
out LCD_DD, all0
rcall lcd_init
... etc ...
lcd_init:
clt
ldi cou0, -0xC3
rcall delay
...etc...
delay:
; nichts
ret <======= von hier aus springt er nicht wieder in lcd_init
zurueck, von wo er herkam, sondern auf den ersten .db-Befehl MEN1: .db
"..."
Woran liegt das?
Danke und viele Gruesse,
Thomas H.