-
-
Erfahrener Benutzer
Fleißiges Mitglied
timer berechung
Hi!
Timer1 als Timer konfiguriert mit Prescale = 8
Timer vorgeladen mit 55536 bei 8 Mhz Taktfreuquenz müßte mir doch alle 10ms oder mit 100Hz einen Interrupt liefern. Ich hab hier auch so ein Java Skript zur berechung gefunden, da wir aber die Zielfrequenz irgendwie in MHz angegeben bischen komsich. Kommt auf jedenfall etwas anderes raus als ich mir ausgerechnet habe.
Gruß Johann!
-
Erfahrener Benutzer
Roboter Genie
Wenn Du den Prescaler auf 8 setzt, tackert Dein Timer mit 1MHz.
Nutzt Du nun den Output Compare Interrupt, bekommst Du alle 55536 Timertakte einen Interrupt. Das wärem also alle 55536/1MHz = 55,536ms.
Um auf 10ms zu kommen, müsstest Du den Timer mit 10ms * 1MHz = 10000 vorladen.
Und nicht vergessen, den Timer beim Interrupt zu reseten.
askazo
-
Erfahrener Benutzer
Fleißiges Mitglied
Zählt der den runter oder rauf? Ich nutze den Timer zurzeit über Bascom.
Ich hatte eigentlich so gerehnet. Timerfrequenz mit der er hochzählt ist 1 Mhz, also 1MHz /100 = 10000 Zyklen
65536-10000 = 55536
So nun zählt der 10000 dazu. Läuft über und springt die Interrupt adresse an. Dort wird er neu geladen das interrupt-Programm abgearbeitet und zurück in das Hauptprogramm.
Gruß Johann!
-
RN-Premium User
Begeisterter Techniker
Ja, darfst halt nicht vergessen, den Timer bei jedem Überlauf neu vorzuladen.
lg
Alex
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen