Zitat Zitat von cipoint
Ich wollte mit SBI TCCR0, CS02 ein Bit in den Register setzen, aber der Compiler meldet: "Out of range".
Wenn du nur das eine Bit ändern möchtest kannst du es auch so versuchen:
Code:
in r16, TCCR0
ori r16, (1<<CS02)
out TCCR0, r16
Zitat Zitat von cipoint
Noch was:
Ne ganz komische Sache. Beim ersten Überlauf wird der Interrupt aktiviert, alles ok. Der TOV0 Flag wird auch (automatisch) zurückgesetzt und die LED geht an. Beim zweiten Überlauf kommt das Programm aber nicht mehr aus der loop-Schleife und der TOV1 Flag wird zwar gesetzt, aber nicht mehr gelöscht. Auch die Befehle ldi temp, (1<<TOV0) und out TIFR, temp haben da nicht gebracht. Woran liegt das?
Das liegt dadran, das mein eine ISR (und timer ist eine) nicht mit rjmp #label sondern mit reti verlassen wird.

Grüße,
Hanni.