Hi!
Ich möchte gerne die Drehzahlüberwachung über die InputCapturePin's (ICP) [Mega64L] lösen.
Programmiert wird in e-Lab's AVRco.
Zum Initialisieren hab ich folgende Register gesetzt:
Und immer bei einem Interrupt wird folgende Routine ausgelöst:Code:INCL(TIMSK,5); //Input Capture enable PD4 INCL(TCCR1B,0); //clk INCL(TCCR1B,6); //ICESn: Input Capture Edge Select
Leider funktioniert das irgendwie noch nicht wirklich, denn ich bekomme unheimlich sprigende Werte (z.B. "55,67,116,133,52,58,151,37,139,65,25,83,93,35 ") und das ICR1H-Register wird auch nicht beschrieben...Code:interrupt TIMER1CAPT; begin x:=word(ICR1L)+256*word(ICR1H); speed:=word(abs(integer(x) - integer(xold))); xold:=x; end;
Weiß jemand an was das liegt?
Muss ich ev. bei jedem Interrupt ein Register wieder leeren o.Ä.?
Gruß, ähM_Key







Zitieren

Lesezeichen