Hallo, ich möchte gerne folgendes "verstehen": Der 16bit Timer1 des Atmega328P bietet ja nun verschiedenste Möglichkeiten ein PWM Signal zu generieren. Wenn ich jetzt beispielsweise eine 8bit PWM mit 255/256 als Top haben möchte kann ich ja einfach WGM10 im Register TCCR1A setzen. (Seite 133) Wie ist es aber wenn als TOP ICR1 oder OCR1A steht? Kann ich dann praktisch programmiertechnisch sagen OCR1A = 100? Oder wie muss man das verstehen? Wäre für eine kleine Hilfestellung sehr dankbar! mfg Lüftung
Lüftung schrieb: > Der 16bit Timer1 des Atmega328P bietet ja nun verschiedenste > Möglichkeiten ein PWM Signal zu generieren. > > Wenn ich jetzt beispielsweise eine 8bit PWM mit 255/256 als Top haben > möchte > kann ich ja einfach WGM10 im Register TCCR1A setzen. (Seite 133) Exakt. Das ist praktisch gesehen ein PWM Modus, bei dem dir der TOP Wert von der Hardware fix&fertig aufs Auge gedrückt wird. > Wie ist es aber wenn als TOP ICR1 oder OCR1A steht? Kann ich dann > praktisch programmiertechnisch sagen OCR1A = 100? Oder wie muss man das > verstehen? Du musst einen PWM-Modus auswählen, bei dem der TOP Wert nicht fix sondern variabel ist. Diesen Modus wählst du aus und damit ist festgelegt welches Register den TOP-Wert steuert. Und dort schreibst du dann deinen gewünschten TOP Wert rein. Auf seite 136, gibt es die Tabelle 15-4 in der das zusammengefasst ist: Welcher Modus realisiert was und welcher TOP-Wert gilt dann. In allen Modi in denen dort eine fixe Zahl steht (HEX-Schreibweise) gilt diese fixe Zahl und sie ist nicht änderbar. In allen Modi in denen eine Registerbezeichnung steht, gilt dieses Register und durch Zuweisen an dieses Register legst du selber den TOP Wert fest.
Hi >Wie ist es aber wenn als TOP ICR1 oder OCR1A steht? Kann ich dann >praktisch programmiertechnisch sagen OCR1A = 100? Ja. Allerdings steht die dann OC1A nicht mehr als PWM-Kanal zur Verfügung. MfG Spess
Spess53 schrieb: > Ja. Allerdings steht die dann OC1A nicht mehr als PWM-Kanal zur > Verfügung. Mal angenommen ich würde aus Tabelle 16-4 auf Seite 133 den Mode 10 nehmen. PWM Phase Correct mit ICR1 als Top. Da müsste ich doch theoretisch für ICR1 jeden beliebigen Wert eingeben können richtig? Die Frequenz meiner PWM müsste sich ja dann auch ändern denn laut Seite 128 berechnet sich die Frequenz aus Takt/(2*Prescaler*ICR1). So könnte man doch die Frequenzbeschränkung umgehen richtig? Normalerweise hätte ich ja als Top 255 / 511 oder 1023. Oder bin ich da grade auf dem falschen Weg? mfg Lüftung
Vielen Dank nochmal an Alle die geantwortet haben! Das Datasheet ist zwar sehr aufgeräumt und recht übersichtlich, aber manchmal ist es eben doch anders wenn man von nem Kollegen was erklärt bekommt ;O) Gruß Lüftung
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.