-
-
Erfahrener Benutzer
Robotik Einstein
huiui,
1. ja, gleich am Anfang setzen, aber auch in der ISR am Anfang
2. nein, steht nicht im DB, muss man selber ausrechnen, hast Du aber eigentlich schon gemacht (156 -> 256 - 156 = 100) !
3. ja, wirkt sich auf die Zeit aus, deshalb macht man es ja ^^
4. nein, überlauf ist erst nach max. 256 Takten, das was Du meinst ist für den Timer nur ein Takt. Hab ich oben schon geschrieben wie.
5. Du musst dann nicht selbst bis 156 zählen, sondern der Timer fängt bei 100 an, und zählt bis 256, dann ist die richtige Zeit um !
Dann kommt (wie schon oben erwähnt) der Overflow, und die ISR wird aufgerufen, und dort wird der Timer wieder mit 100 geladen, und die gewünschte Aktion ausgeführt.
Hint:
Dein Gedankenfehler bis jetzt, nach 16MHz/1024 läuft der Timer nicht über, sondern zählt nur um eins höher.
Der Zähler läuft erst über, wenn er bei 255 um eins weiterzählen würde, also bei 8Bit wieder bei 0 ankommt.
Hier wird dann die ISR aufgerufen.
Wenn der Timer nicht die ganzen 256 Takte durchzählen soll, weil die Zeit zu lange wäre, muss man den Zähler eben mit einem höheren Wert vorladen, hier mit 100, dann zählt er nur 156 Takte bis er überläuft.
Und dann noch ein paar Smilies, die nach belieben im Text oben verteilt werden sollten 
[-o<
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen