Hallo !
Danke erstmal für die Antwort!
Hab' deinen Vorschlag entsprechend umgesetzt und das Programm dabei etwas vereinfacht, sieht jetzt so aus:
Interessanterweise zeigt die Schaltung exakt dasselbe Verhalten wie vorher.Code:.include "m8def.inc" .org 0x000 rjmp main .org 0x008 rjmp TimerHandler main: ldi r16,0xFF ; PortB ist Output out DDRB, r16 ldi r16,0b00000011 ; Timer div. 1/64 out TCCR1B, r16 ldi r16,0b00000100 ; Overflow Interrupt Enable out TIMSK, r16 ldi r16,0b00000000 ; Alle LEDs aus. out PORTB, r16 sei loop: rjmp loop TimerHandler: com r16 out PORTB,r16 Ende: reti
(Habe auch Varianten ausprobiert, bei denen der Zustand in einem anderen Register verwaltet wird, ebenfalls das gleiche Verhalten.)
An Pin 14 hängt ein 100 Ohm - Widerstand, daran die LED an Masse. Den Pin einfach nur eingeschaltet lassen funktioniert.
Ich vermute fast, daß schlicht *zwei* Interrupts kurz hintereinander generiert werden, könnte das sein ?
Grüße!
Alex







Zitieren

Lesezeichen