Halli hallo,
ich bin neu hier im Forum. Deshalb stell ich mich erstmal kurz vor. Mein Name ist Oliver, 18 Jahre jung und wohnhaft in Hildesheim. Zur Zeit besuche ich die gymnasiale Oberstufe mit Mathe und Physik als LK.
Zu meiner Frage:
Ich möchte immoment eine Led faden per Software PWM. Nur leider verstehe ich dabei, die Rolle mit dem Prescaler noch nicht ganz.
Hab ich das richtig verstanden, dass der Prescaler die Geschwindigkeit angibt wie schnell er zählen soll( Frequenz)?
Zitat von RN-Wissen:
Natürlich kann das auch "von Hand" berechnet werden. Die Berechnung des Preloader- sowie Prescalerwerts bei Verwendung der Overflow-Interrupts, eines Prescalers von 64 (nicht alle Prescaler können verwendet werden) und eines Quarzes mit der Frequenz von 8 MHz sieht folgendermaßen aus (gesuchte Frequenz beträgt 1000 Hz unter der Verwendung des Timer0 eines ATmega32):
- Prescale = Frequenz * 1000000[Hz] = 8000000
- Wir definieren den maximalen Zählerwert. Dieser ist bei einem 8-Bit Timer 256, bei einem 16-Bit Timer 65536. In unserem Fall ist der maximale Zählerwert 256, weil Timer0 verwendet wird.
- Nun wird die Variable Prescale (s.o.) durch den verwendeten Prescaler (64) geteilt (8000000Hz / 64 = 125000).
- Als nächstes wird der im dritten Punkt errechnete Wert durch die gesuchte Frequenz geteilt = 125000 / 1000Hz = 125.Nun wird mathematisch überprüft , ob der errechnete Wert aus dem vierten Punkt kleiner als der maximale Zählerwert ist. Trifft dies zu, so wird der errechneten Wert vom maximalen Zählerwert subtrahiert( = 256 - 125 = 131).
Zu 2: Woher weiß ich, welchen Prescaler ich am Besten verwende?
Zu 5.: Diesen Wert, den ich da rausbekomme, ist das der Startwert wo der Timer vorlädt und anfängt zu zählen. Also von 131 bis 255 hoch?
MfG
Blacksun