Wie misst du denn die Ventilöffnungszeit? Mit einem Timer mit Input Capture solltest du die Zeit imho am genauesten messen können. Vorausgesetzt, das Signal kommt von aussen.
Mit dem Input Capture wollte ich das zuerst auch machen, dieser spricht aber nur auf eine steigende Flanke an. Da ich aber nicht die Frequenz sondern die Pulslänge brauche, fällt das leider raus..
Gemessen wird das dann über einen externen Interrupt, je nach Pegel wird ein Counter hochgezählt und der gemessene Wert auf einen 64 Bit Integer addiert (reicht für ein Jahrhundert Dauerbetrieb..). In der Hauptschleife kann ich mir dann einen entsprechenden Literwert zusammenrechnen.
Deine Signatur ist zu lang.
Du kannst programmieren, ob er auf fallende, oder steigende Flanke reagieren soll. TCCR1B Bit 6 0=> fallende Flanke, 1=> steigende Flanke.
Und dann in der ISR jeweils das Bit togglen?
Deine Signatur ist zu lang.
Genau. Die Methode dürfte noch ein wenig präziser sein.
Ok, das kann ich auf jeden Fall mal ausprobieren. Problem ist eben, dass ich dadurch einen Timer verlieren und die genauere Erfassung durch Temperaturschwankungen und andere äußere Faktoren direkt wieder aufgehoben wird..
Deine Signatur ist zu lang.
Lesezeichen