Verständnisfrage zu Register

Gast #3323380
Lesenswert?

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
#3323384
Lesenswert?

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.
Gast #3323386
Lesenswert?

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
Gast #3323506
Lesenswert?

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
Gast #3323617
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren