-
-
Moderator
Robotik Einstein
folgendes habe ich gerechnet:
der prozessor arbeitet mit 8.000.000 takten pro sekunde. bei einem prescaler von 1 wäre also die zeit zwischen zwei takten 1sec/8000000 = 125 nanosec.
der interrupt wird generiert wenn der timer überläuft, also von 255 wieder auf 0 springt. das geschieht alle 256 zähleinheiten; also 125 ns * 32 = 32µs.
wird der prescaler aktiviert, wird der counter nur alle [prescaler] takte erhöht. mit einem prescaler von 1024 würde der counter also nur mit einem 1024stel der geschwindigkeit hchzählen. wir hätten also zwischen zwei interrupts
32µs * 1024 = 32,768 millisec.
-
Erfahrener Benutzer
Fleißiges Mitglied
Ist aber auch nicht gerade die Welt ...
Aber dazu gibt es ja den Trick um aus den 8-Bit Timer einen 16-Bit Timer zu machen ...
-
Moderator
Robotik Einstein
da brauchts keinen trick. entweder man nimmt direkt den 16bit timer der hardwaremäßig vorhanden ist, oder man zählt eine vriable in der interruptroutine. dann kann man beliebige verzögerungen erreichen.
-
Erfahrener Benutzer
Fleißiges Mitglied
Und wie sieht es aus wenn man noch zustätzliche den PWM nutzen möchte?
Dann geht das doch nicht oder?
-
Moderator
Robotik Einstein
hmm.. man kann die hardware-pwm nutzen. oder man programmiert eine software-pwm... was meinst du?
-
Erfahrener Benutzer
Fleißiges Mitglied
Ich habe an die Hardware-PWM von Timer1 gedacht ...
-
Moderator
Robotik Einstein
tja... und wo ist das problem dabei?
-
Erfahrener Benutzer
Fleißiges Mitglied
Wie lasse ich den mit dem Timer0 zusammenlaufen?
Siehe Klick ...
Da habe ich ja das Problem ...
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen