Gast
#112198
Hallo ;) Ich bin neu und unerfahren im Bereich der AVRs. Als ersten Versuch wollte ich ein kleines Lauflicht (mit 3 Dioden) basteln. Ich habe mir also einen Delay mit dem AVR delay loop generator schreiben lassen. Dieser Codeschnipsel funktioniert soweit auch. Nun habe ich mir eine Unterfunktion "delay" geschrieben: ------- delay: ldi R29, $06 WGLOOP9: ldi R30, $37 WGLOOP10: ldi R31, $C9 WGLOOP11: dec R31 brne WGLOOP11 dec R30 brne WGLOOP10 dec R29 brne WGLOOP9 nop ldi R29, 0 ldi R30, 0 ldi R31, 0 ret ------- Diese benutze ich wie folgt: ------- loop: ldi r16, 0b11111011 out PORTB, r16 rcall delay ldi r16, 0b11111101 out PORTB, r16 rcall delay [...] rjmp loop ------- Wenn ich das ganze nun Assembliere und auf den µC schreibe, leuchtet nur die letzte Diode (konstant). Ich habe einige Sourcecodes durchgeschaut, was aber nicht zu einer Loesung meines Problems fuehrte. Ueber eine Antwort waer ich sehr dankbar ;) Daniel "trasher" Derichs