dieses "fast" bezieht sich darauf daß ich mein Programm im Assembler geschrieben habe
Hier ein Ausschnitt:
Code:
.org 0x0000
	rjmp reset
.org INT0addr
	rjmp encode
.org OVF0addr
	rjmp time0 
....
....
reset:	
	ldi tmp1,HIGH(RAMEND)
	out SPH,tmp1
	ldi tmp1,LOW(RAMEND)
	out SPL,tmp1
	ldi tmp1,(1<<encoder1)|(1<<encoder2)	; Pullups für den Encoder
	out encoderport,tmp1			; dito
	ldi tmp1,(1<<PB1)|(1<<PB2)
	out DDRB,tmp1
	ldi tmp1,(1<<ISC01)	; fallende Flanke am INT0
	out MCUCR,tmp1		; erzeugt einen Interrupt
	ldi tmp1,(1<<INT0)	; Externen Interrupt am PD2 erlauben
	out GICR,tmp1

...
...

encode:
	in tmpi1,SREG
	push tmpi1
	ldi tmpi1,0x00
	ldi tmpi2,0x05
	in tmpiL,OCR1BL
	in tmpiH,OCR1BH
	sbic encoderpin,encoder2
	rjmp encode2
	sub tmpiL,tmpi2
	sbc tmpiH,tmpi1
	rjmp encode_end
encode2:	
	add tmpiL,tmpi2
	adc tmpiH,tmpi1
	
encode_end:	
	out OCR1BH,tmpiH
	out OCR1BL,tmpiL
	pop tmpi1
	out SREG,tmpi1
	reti
Ich habe diesen hier

Gruß Sebastian