PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu Impulszählung Timer0



db9xq
28.03.2009, 19:36
Ich möchte eingehende Impulse von einem Tachogeber zählen.
Es steht leider nur noch der 8 Bit Timer zur verfühgung der eigenlich zu klein ist.
Da der 8 bit Timer aber nur bis 255 Zählen kann möchte ich die Zählerzeit verkürzen.
Jetzt habe ich hier ein Problem welches ich mir nicht erklären kann. Alle
Sekunde bei einer Freuqenz von 255Hz kann ich mir 255 Anzeigen lassen.
Lasse ich mir der Wert alle 0,5 Sekunden Anzeige bei gleicher Frequenz bekomme ich 128 Angezeigt.
So weit gut.
Erhöhe ich jetzt die Frequenz kipt die Anzeige bei 186 (ca. 370Hz) auf 0.
Ich habe erwartet, dass ich bei der Hälfte der Zeit eine Frquenz bis 500Hz verarbeiten kann.
Kann es sein das der Eingang nicht mehr als 370Hz verarbeiten kann?


Ausschnitt:

Incr Timerdurchlauf
If Timerdurchlauf >= 796 Then 'Überlauf 0,5 Sekunden Anzeige bis 186
'IF Timerdurchlauf >= 1592 'Überlauf 1 Sekunde Anzeige bis 255
Timerdurchlauf = 0 'Zurückstezen
Ausgabe 'gehe zu SUB Ausgabe
Timer0 = 0 'Timer zurück setzen
End If

Sauerbruch
29.03.2009, 11:14
Kann es sein das der Eingang nicht mehr als 370Hz verarbeiten kann?

Der Timer-Eingang verarbeitet eigentlich alles, was weniger als 1/4 des Systemtaktes hat. Wenn Du Deinen Controller also mit einem Systemtakt von mehr als ca. 1,5 kHz betreibst (nicht so ernst gemeint...), kann man das mit Sicherheit auschließen.

Da der Fehler ja irgndwo im Rest des Programms liegen muss wäre es hilfreich, wenn Du mal den ganzen Code posten würdest!

Gruß & 73 :-)

Daniel