-
-
Moderator
Robotik Visionär
Hallo
Obwohl man das hinter dem schlichten "Timer1=Pwm" nicht vermutet, Bascom betreibt den Timer so im "Phase Correct PWM Mode". Das Zählregister zählt dabei nicht nur von 0 nach 255 ("Pwm = 8") sondern von dort auch wieder zurück. Jedesmal wenn der Zähler gleich dem Inhalt des OCR1x-Register ist ("Compare x Pwm"), wird der entsprechende Hardwareausgang OC1x geschaltet. Wenn die Übereinstimmung beim Runterzählen auftritt, wird der Ausgang Low ("Clear Down"), beim Hochzählen High.
Eine Periode dauert einmal hoch und wieder runterzählen, also 2*256=512 Timertakte. Mit 16MHz Kontrollertakt und Prescaler /8 würde die PWM-Frequenz dann 16000kHz/8/512 oder 2000Khz/512=3,9kHz betragen. (Ich hoffe, dass stimmt so;)
Das wäre ja zu hoch, oder? Für einfache Tests könnte man an den Bits schrauben:
Pwm = 9 ergibt 1,9kHz (PWM-Werte 0 bis 511)
Pwm = 10 knapp 1kHz (PWM-Werte 0 bis 1023)
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen