Nein, ist ein "richtiger" Quarz im HC49-Gehäuse. Ich müsste mal ausrechnen, ob die ISR zu lang ist.. Aber das sollte doch eigentlich passen, bei 100 Mikrosekunden.
Nein, ist ein "richtiger" Quarz im HC49-Gehäuse. Ich müsste mal ausrechnen, ob die ISR zu lang ist.. Aber das sollte doch eigentlich passen, bei 100 Mikrosekunden.
Deine Signatur ist zu lang.
Nö, für einen alle-100µs-Interrupt muss TOP 149 sein. Du willst 150 Zählerschritte haben, also von 0 bis 149.Als Controller benutze ich einen Atmega168 mit 12MHZ-Quarz. Ich habe also Timer0 mit einem Prescaler von 8 versehen und benutze den CTC-Modus mit einem TOP-Wert von 150. Dadurch sollte rein rechnerisch alle 100 Mikrosekunden ein Interrupt ausgelöst werden.
MfG
Stefan
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.
Lesezeichen