Hallo! In den Anlagen ist die SOurce von einem kleine Programm, dass LEDs an PORTB und PORTC blinken lassen soll. Wenn das Programm durchgelaufen ist, und es wieder an den Start springen soll also am Ende "rjmp start" steht passiert gar nichts. Wenn statt "rjmp start" "rjmp ende" steht gehen die LEDs nach einer Sekunde an, also funktioniert es dann. Woran liegt es, dass sich bei "rjmp start" nix tut?? Gruß!
Das nichts passiert, wenn Du mit "rjmp start" wieder zum Anfang des Programms springst, kann man so nicht sagen. Wenn nach dem Reset Deine 1 Sekunde Zeitschleife abgelaufen ist, schaltest Du ja die LEDs mit ldi temp, 0b00000000 out PORTB, temp out PORTC, temp ein. Unmittelbar dannach springst Du zu der Befehlsfolge ldi temp, 0xFF out PORTB, temp out PORTC, temp und schaltest sie damit quasi sofort wieder aus. Effektiv sind sie dann nur ein paar wenige Prozessortakte an, was bei den 8 MHz Taktfrequenz weniger als eine Mikrosekunde sein dürfte. Das ist natürlich viel zu schnell, als das Du das irgendwie wahrnehmen könntest. Es sieht also dadurch nur so aus, als würde garnichts passieren. Gruß Ingo
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.