Hallo
Sehr hübsch. Vielleicht in der ISR ein kleiner Schalter?
Code:
Timer:
If schalter = 1 then
inc cnt1
inc cnt2
inc cnt3
inc cnt4
if cnt1 = 255 schalter = 0
else
dec cnt1
dec cnt2
dec cnt3
dec cnt4
if cnt1 = 0 schalter = 1
end if
ldi tmp,waittime
out tcnt0,tmp
reti
255 ist der hellste, 0 der dunkelste Wert. Sorry, aber ich kann auch kein avr-Assembler. Statt if und else muss natürlich ein bedingter Sprung rein der, in Abhängigkeit vom Schalter, zum auf- oder abzählenden Teil der ISR springt. Wenn der gewünschte Hell- oder Dunkelwert erreicht ist, wird der Schalter umgeschaltet.
Gruß
mic
Lesezeichen