Timer 0 Berechnen bei Atmega32

Gast #3925852
Lesenswert?

Hallo,

ich hab eine frage.

Interner Oszilator 1MHz!

Timer 0 soll verwendet werden, um an OC0/PB3 eine konstante Frequenz von 
4,5 kHz möglichst genau zu erzeugen.

Welche Konfiguration muss ich dafür verwenden bei der am wenigstens 
Programmieraufwand notwendig ist?

Ein Programm ist nicht notwendig!

Welche Frequenz liegt wirklich am OC0/PB3 Pin an ?



Jungs bitte um Hilfe !!!!
Gast #3925865
Lesenswert?

spess53 schrieb:
> Hi
>
>>Welche Konfiguration muss ich dafür verwenden bei der am wenigstens
>>Programmieraufwand notwendig ist?
>
> CTC.
>
>>Welche Frequenz liegt wirklich am OC0/PB3 Pin an ?
>
> 4,505 kHz.
>
> MfG Spess



wie bist du auf den wert drauf gekommen?

und warum CTC ? kannst du mir das bitte ausführlicher erklären :)

aber super danke für die schnelle antwort! :)
Gast #3925874
Lesenswert?

James schrieb:
> Ein Programm ist nicht notwendig!

Ohne Programm wird es schwierig sein, den Timer zu konfigurieren. Danach 
läuft der aber ohne Programm.

Deine 4,5kHz sind allerdings nicht ohne weiteres exakt hinzukriegen, 
weil die Periodendauer kein ganzzahliges vom Oszillator ist. Man kann 
tricksen und durch Ausblenden von Pulse den Fehler verkleinern. Das 
führt allerdings zu einem Jitter. Und natürlich kann die erzeugte 
Frequenz bestenfalls so genau wie der interne Oszillator sein.
Gast #3925913
Lesenswert?

Thomas Eckmann schrieb:
> James schrieb:
>> was muss ich in den compare register schreiben ?
>>
>> hast du mir ein rechen weg ?
>
> OC0 toggelt im CTC-Mode. Ein-Aus-Ein-Aus.
> Also mit doppelter Frequenz toggeln.
>
> 1MHz / 9KHz = 111,111
>
> OCR0 = 110:
>
> F = 1MHz / (OCR0 +1) / 2 = 4,505KHz.
>
> mfg.



warum OCR0 = 110 ?

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