Hallo,
Das kann zu Problemen führen, Grund:Code:Drehzahl = (NumberOverflow * 65536) + EndTime - StartTime;
NumberOverflow,Endtime und StartTime können sich während der Berechnung ändern.
Leg Dir mal 3 lokale Variablen an , schalte kurz mit cli() die Interrupts ab, kopiere NumberOverflow,Endtime und StartTime in die lokale Variablen, gib die Interrupts wieder frei und rechne in Ruhe mit den Kopien weiter.
Vielleicht hilft das.
Gruß Sebastian
Lesezeichen