Habe mir nun mal die *.hex angesehen, die der avr-gcc erzeugt.
die Interruptroutine ist überhaupt nocht vorhanden, und bei timer1_init werden die Werte nicht mit out an die Register gegeben, sondern einfach irgendwo im RAM gelegt

frg1: Was macht der mit meiner SINGAL-.Funktion??
frg2: Kann man alternativ zu in/out auch der DMA auf die register zugreifen, oder ist das ein sehr grober fehler beim Kompiliervorgang, oder ein Fehler in den Header-files??

Code:
sub_52:
push    r28
push    r29
in      r28, SPL
in      r29, SPH
sts     unk_20004F, r1
ldi     r24, 3
sts     unk_20004E, r24
lds     r24, unk_200059
ori     r24, 4
sts     unk_200059, r24
pop     r29
pop     r28
ret
das soll die timer1_init() sein...