Hallo,
kannst du diese Funktion mal posten. Es macht mich stutzig, dass der Rückgabewert in das erste Feld eines 8 Byte Array geschrieben wird.
Code:
Data[0] = TWIM_ReadNack ();
Die gemessene Frequenz wird von einem Atmega8 generiert.
Das ist gut, damit sollte das Signal immer ein definiertes Potential haben, nicht floaten und nicht prellen. Dennoch, hast du mal bei 'Drehzahl' 0 geprüft, ob die TWI Signale in die Leitung zum Interrupt strahlen und diesen auslösen?
Hast du NumberOverflowX nur aus Gewohnheit als 16Bit deklariert oder kann der Wert größer als 255 werden? Falls der Wert größer werden kann. möchte ich dir Sebastians erste Antwort noch einmal ans Herzen legen. Der 8Bit Controller kann die Variable nicht in einem Takt abarbeiten. Der Sprung in den Interrupt TIMER1_OVF_vect kann aber jederzeit eintreten, auch während des Übergangs von 00000000 11111111
nach 00000001 00000000 
Gruß
Jens
Lesezeichen