whoops Panne XD hab ich in meiner Antwort oben total vergessenDer 125ste Schritt kommt durch den Schritt von 124 nach 0 zustande![]()
whoops Panne XD hab ich in meiner Antwort oben total vergessenDer 125ste Schritt kommt durch den Schritt von 124 nach 0 zustande![]()
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Danke für die anderen Antworten und eure Hilfe.
Bitte nicht gleich sauer sein aber so ganz verstehe ich das immer noch nicht
Ich hätte dazu bitte noch ein paar Fragen.
Wie oben schon gefragt, reicht es wenn ich die Takt Frequenz vom Attiny im Code eintrage oder muss ich auch noch etwas in den Fuses verändern?
Als nächstes würde mich Interresieren wo Ihr genau die ganzen Daten aus dem Datenblatt herbekommt ?
Damit meine ich sind das immer die gleichen Stellen die Wichtig sind ?
Z.b. Seite 10, 33, 52, 63 usw ( ist nur ein Beispiel )
Die CS Bits bestimmen die Quelle für den Timer/Counter richtig ?
Ist das auch gleichzeitig der Prescaler ?
Auch verstehe ich die Berechnung der Frequenz noch nicht ganz.
Wie genau hast Du das berechnet ?
Timerzyklusfrequenz von (1000000Hz/8 )/256=488,28125Hz
Ich verstehe es nur soweit, der Systemtakt beträgt 1Mhz ( 1000000 ) jetzt rechnet Ihr 1000000:256=3.906,25
Gut nur wie kommt Ihr auf dieses Ergebniss ?
(1000000Hz/8 )/256=488,28125Hz ???
Wie lautet hier der genaue Rechnungsweg ?
Entschuldigung für meine vielen Fragen![]()
in deinem konkreten Fall (angenommen wir haben dasselbe Datenblatt und nicht nur die "Summary" ... Dokumentnummer ist atmel-2586)
Kapitel 11.9 Register Description
11.9.2 TCCR0A – Timer/Counter Control Register A und folgend
Da sind die Bits beschrieben die die Ausgänge und den Countermodus steuern.
11.9.3 TCCR0B – Timer/Counter Control Register B und folgend
gehört immer zu dem anderen Register dazu, im konkreten Fall ist das WGM02 Bit Teil vom B-Register
Hier steht unter anderem auch welche Prescaler es gibt und wie sie ausgewählt werden.
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Vielen Dank für deine Antwort.
Das Datenblatt ist das gleiche.
Danke für die Informationen.
Das habe ich soweit alles gefunden.
Nur z.B. auf Seite 80 sind die CS Bits zu finden.
Habe den Code jetzt geändert und das CS Bits 01 gewählt.
Frequenz ist auf fast genau 1 kHzVielen Dank.
Nur auf der Seite 83 steht auch was über CS Bits.
Aber diese kann ich doch bei meinem Attiny nicht nutzen ?
Vielen Dank mal wieder.
Nicole
doch doch sicherlich, aber nur mit Timer1
Das ist Kapitel 12 Timer1 und nicht Kapitel 11 Timer0
Daher hab ich auch darüber gestutzt, dass du im TCCR0A die Bits für TCCR1A verwendet hast und im TCCR0B Das Bit für TCCR1B
Du hattest da wohl die beiden Timer ausversehen in einen Topf geworfen ... Wenn du dir die REgister ud die Bits ansiehst, merkst du auch schnell dass die Bits des T0 garnicht die gleiche Position haben im Register wie beim T1
PS: Als Faustformel bei Atmels gilt der Timer0 ist meistens am Funktionsärmsten aber dafür sind die Funktionen und Register fast überall gleich ... Den Code auf einen andern Controller zu wechseln geht also quasi ohne Änderungen ... alle weiteren Timer haben bei den unterschiedlichen Atmel Prozessoren alle ihre eigenheiten und müssen von Controller zu Controller anders programmiert werden
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Danke für die Info.
Ja so ganz flüssig läuft es noch nicht
Nochmals zu den CS Bits und den Prescaler.
Ist das jetzt das gleiche oder nicht ?
Ich glaube wenn man es mal verstanden hat ist es leicht.
Nur bis man es mal verstanden hat ist es sehr schwer
Auch wäre es nett, wenn Ihr mir bitte nochmals irgendwie genauer sagen könntet wie Ihr die genau Frequenz berechnet ?
Hallo,
da es Datenblätter zum ATtiny in verschiedenen Revisionen gibt, hier ein Link zu Atmel, damit wir das gleiche benutzen (Rev. 2586Q–AVR–08/2013): http://www.atmel.com/images/atmel-25..._datasheet.pdf
Gefunden über Google mit Suchbegriffeingabe: attiny85
Ein nagelneuer, frisch gekaufter ATtiny85 ist auf einen Systemtakt von 1Mhz eingestellt: Interner Oszillator mit 8MHz, der durch die CKDIV8 Fuse im System Clock Prescaler (nicht Timer Prescaler) auf ein achtel, also auf 1MHz herabgesetzt wird (Datenblatt: "6.2.3 Calibrated Internal Oscillator" und "Table 20-5. Fuse Low Byte")Wie oben schon gefragt, reicht es wenn ich die Takt Frequenz vom Attiny im Code eintrage oder muss ich auch noch etwas in den Fuses verändern?
Ich schreib es dazu aber es wird Dir nicht erspart bleiben, jede Zeile, jede Tabelle und jede Fußnote selbst zu durchforsten, da so ein Datenblatt wirklich ganz gedrängt in jedem Buchstaben relevante Informationen beinhaltetAls nächstes würde mich Interresieren wo Ihr genau die ganzen Daten aus dem Datenblatt herbekommt?
Ja. Für Timer 0 gibt es im Datenblatt das Kapitel 11 und dort zum "11.9.3 TCCR0B" die Tabelle "Table 11-6. Clock Select Bit Description" Für Timer 1 in Kapitel 12 sieht die entsprechende Tabelle anders aus.Die CS Bits bestimmen die Quelle für den Timer/Counter richtig?
Ist das auch gleichzeitig der Prescaler?
Ich bin von den Factory Default Einstellungen ausgegangen: 1MHz Systemtakt, bei den Timern in den Tabellen und im Blockdiagramm "Figure 6-1" wird er clk i/o genannt. Den Timerprescaler habe ich mit acht angenommen, da eins ja einen zu schnellen Zähltakt erzeugt hat. Also 1MHz geteilt durch acht ergibt 125000. 125000 geteilt durch die 256 Zählschritte für einen Timerzyklus ergibt die 488,28125Hz.Wie genau hast Du das berechnet ?
Timerzyklusfrequenz von (1000000Hz/8 )/256=488,28125Hz
Ja, aber mit dem angenommenen Timerprescaler von eins ist der Timerzyklus zu schnell für Deine geforderten 1kHz. Eigentlich ist die Rechnung (1000000/1)/256. Die 1 für den Timerprescaler eins habe ich vorher weggelassen.Ich verstehe es nur soweit, der Systemtakt beträgt 1Mhz ( 1000000 ) jetzt rechnet Ihr 1000000:256=3.906,25
Weil mit Timerprescaler von 1 der Takt zu schnell war, wird hier der Prescaler von 8 hergenommen. Die 8 muß also später mit den CS Bits eingestellt werden und nicht die 1.Gut nur wie kommt Ihr auf dieses Ergebniss ?
(1000000Hz/8 )/256=488,28125Hz ???
Auch wäre es nett, wenn Ihr mir bitte nochmals irgendwie genauer sagen könntet wie Ihr die genau Frequenz berechnet ?
Ich kann es nicht genauer. Dieser und mein letzter Post haben mich erschöpft. Besser Du fragst konkret, was Du nicht verstanden hast.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Lesezeichen