Zitat Zitat von Nicole01 Beitrag anzeigen
Searcher,
mal wieder vielen Dank für deinen langen Text und deiner Mühe.
.
Vielen Dank mal wieder.
Alles klar, für mich reicht das für den Rest meiner Beiträge


Wie man das ganze jetzt ausrechnet verstehe ich zu 80%.
Mein Problem ist nur, wie berechne ich die Frequenz die ich möchte ?

Z.b. 2,3 kHz ?
Oder 200 Hz ?
Die Frage ist eigentlich falsch gestellt, oder? Du gibst ja die Frequenz vor und möchtest die Konfigurationsparameter für den Timer finden. Da Du nur eine bekannte Größe hast, nämlich die gewollte Frequenz, must Du die anderen für den Timer selbst vorgeben.

Ich habe das in meinem ersten Post gemacht, indem ich den Systemtakt mit 1MHz angenommen habe. Dann habe ich den Timer Vorteiler, der mit den CS Bits eingestellt wird mit 8 angenommen. Mit Vorteiler = 1 ging Deine 1kHz im Fast-PWM nicht einzustellen. Mit Vorteiler = 8 ergab sich aber noch nicht genau die 1kHz. Deshalb noch den CTC Modus zur Hilfe genommen. (Datenblatt: 11.7.2 Clear Timer on Compare Match (CTC) Mode)

Man rechnet es sich also nicht direkt aus, sondern probiert gewissermaßen ein Stück weit in den Rechnungen mit den zur Verfügung stehenden Möglichkeiten des µC und kann dann mit den Gleichungen aus dem Datenblatt zurückrechnen, ob man richtig liegt. (Datenblatt Gleichungen stehen in den Unterkapiteln zu "11.7 Modes of Operation")


Im Datenblatt habe ich bei Timer0 diese Werte gefunden.
CS00, CS01, CS02
8, 64, 256, 1024

Ob ich die 1024 nutzen kann, bin ich mir nicht ganz sicher da ja hier kein CS mehr zu finden ist für 1024?
Stimmt fast, aber die Frage verstehe ich nicht. Grundlage zur Einstellung des Vorteilers für Timers 0 ist die "Table 11-6. Clock Select Bit Description" im Kapitel "11.9.3 TCCR0B – Timer/Counter Control Register B".

Im TCCR0B Register setzt man:
für Voteiler 8 das Bit CS01
für Voteiler 64 die Bits CS01 und CS00
für Voteiler 256 das Bit CS02
für Voteiler 1024 die Bits CS02 und CS00

also nicht ein CS Bit für einen Vorteilerwert; es werden auch Kombinationen von den CS Bits genutzt und es gibt auch den Vorteilerwert 1 mit dem Bit CS00, der in Deiner Aufzählung der Prescaler Werte fehlt.


Jetzt zur Frequenz, der Attiny läuft mit 1MHz und er läuft alle 256 Schritte wegen dem 8 Bit Timer über.
Die 256 Schritte sind immer gleich und der 8 Bit Timer auch das kann ich ja nicht beeinflussen habe ich das soweit richtig verstanden ?
Nein. Die 256 ist der Maximalwert. Der kann im CTC Modus veringert werden. Bitte Kapitel 11.7 Modes of Operation und speziell oben erwähntes Kapitel über den CTC Modus lesen.


Somit bleibt mir ja nur zur Berechnung der Frequenz die 1 MHz die 256 Schritte bis zum Überlauf und der Prescale.
Die 1MHz Systemtakt, OK! Würde ich auch erstmal nicht ändern.
Die 256 Schritte sind nicht fix. Siehe CTC Modus
Prescale, ja.
Aber es gibt noch die verschiedenen Moden des Timers. Kapitel 11.7. Der von wkrug erwähnte "11.7.4 Phase Correct PWM Mode" wird anders berechnet und läßt tiefere Frequenzen als Fast PWM zu.

Hier noch was zum Lesen aus dem Roboternetz-Wissen: http://rn-wissen.de/wiki/index.php?t.../Counter_(Avr)
Ist für einen ATMega aber das Prinzip ist das Gleiche.

Gruß
Searcher