Also ich habe einen elektronischen Tacho vor zu bauen. Da habe ich einen Reed Kontakt am Rad der mir einen Impuls gibt bei einer Umdrehung. Nun ist das große Prob das dieser ziemlich stark prellt. Hab das schon mit einen Tiefpass probiert. Funzt auch super . Allerdings lädt sich dieser über den Port des Atmels auf. Dieses wollte ich vermeiden und habe hier schon mal nachgefragt.Habe dann den Ansatz mit einen Compareinterrupt bekommen. Klingt auch sehr gut und so ich habe das so jetzt mal probiert. // Timer 1 input capture interrupt service routine interrupt [TIM1_CAPT] void timer1_capt_isr(void) { TIMSK=0x10; OCR1A = ((word)ICR1) + 10; } interrupt [TIM1_COMPA] void timer1_compa_isr(void) { TIMSK=0x20; } Es will aber nicht so wie ich es will. Die +10 habe ich nur mal zum ausprobieren genommen. Ist da nun ein Fehler, denn ich bekomme immer noch 2 Capture Events. Der dritte lässt dann richtig lange auf sich warten. Sind dann bestimmt ein paar sek. Kann ich so die Interrupts nicht ausstellen ? Oder warum will das nicht so laufen wie ich will. Der Timner läuft mit 1Mhz und einen Teiler von 256. Ansonsten keine nennenswerten Einstellungen. Halt nur ein Programm zum testen.
In der Codesammlung wirst du fündig. Oder in der Artikelsammlung Suchbegriff "entprellung". ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.