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 !!!!
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
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! :)
was muss ich in den compare register schreiben ? hast du mir ein rechen weg ?
Hi >was muss ich in den compare register schreiben ? $6E bei Prescaler 1. >hast du mir ein rechen weg ? Nö. Ein eigenes Programm. MfG Spess
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.
mich interessiert nur noch wie man auf den wert kommt mit dem prescaler 1 .. brauch das für eine hausaufgabe. also mit rechenweg. danke für die vielen antworten :)
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.
Hi
>1 .. brauch das für eine hausaufgabe. also mit rechenweg.
Datenblett-> Timer0 -> Modes of Operation -> CTC
MfG Spess
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 ?
>warum OCR0 = 110 ?
Weil 0 auch ein Zählerwert ist. 0..110 = 111 Steps.
Hi
>warum OCR0 = 110 ?
(OCR0 +1) = 111,111 -> OCR0 gerundet = 110 (0x6E).
MfG Spess
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.