Hi, ich bekomme die Input Capture Funktion des Timer1 an meinem AVR einfach nicht zum Laufen. Was ich eigentlich will: Die Länge eines Impules messen, den ich an einem Pin des AVR anlege. Die externe Schaltung, welche den Puls schickt kann ich durch einen anderen AVR-Pin triggern. Das Messprinzip: Die Länge eines Pulses zu bestimmen sollte eigentlich nicht so schwer sein. Timer initialisieren, Puls triggern, wenn das Pulsende kommt, die Input Capture Funktion des Timer 1 nutzen und das Ergebnis aus den Captureregistern auslesen. So stellt ich mir das vor. Als Versuchsaufbau hab ich den Timer1 des 2313 einfach mal Prescaler 256 frei laufen lassen, das klappt problemlos. Doch das Capture will einfach nicht klappen. Ich hab dazu jetzt einfach mal durch polling den Pegel an PD6 (das ist der Capture Eingang) abgefragt und den Timer "zu Fuss" ausgelesen, wenn der Pegel auf 0 wechselt. Das klappt problemlos. Wer kann mir ein Beispiel in Assembler schicken, wo ich die richtige initialisierung des Timers, des PortD6 und der Interruptmasken abkupfern kann??? Muss irged ein saublöder Fehler sein. Den find ich am besten dadurch raus, dass ich schau wie andere das gemacht haben. P.S.: Gibt es eine einfachere Möglichkeit die Impulsdauer zu messen (16-bit sollten es schon sein)? Danke für die Mühe und ciao remo
Hi auch wenns schon öfters hier im Forum war: www.matwei.de -> PC-Drehzahlmesser. Macht genau das was du willst. Matthias
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.