Hallo, ich bin gerade dabei einen Timer so einzustellen, damit ich jede ms einen Interrupt erzeuge. Das ist ja mit dem CTC Modus der Timer ja eigentlich kein Problem... Nur nun habe ich eine Frage. Im Wiki hier steht als Formel zur Berechnung von f_oc: http://www.mikrocontroller.net/wikifiles/math/8/d/6/8d66ee450ccc82bef1d3a7cb951c08fe.png Nur im Datenblatt steht im Nenner noch der Faktor 2. Was ist nun richtig? Ich denke mal das im Datenblatt oder? Wobei mir die Berechnung im Wiki logischer erscheint...
Man kann alles aus dem Zusammenhang reißen und in irgendeinem Datenblatt an irgendeiner Stelle wird das sicher auch anders stehen. Ich fang aber jetzt nicht an zu suchen.
john schrieb: > Was ist nun richtig? Ich denke mal das im Datenblatt oder? Beides, je nach dem, was genau du machen willst. Du hast im Datenblatt nur nicht aufmerksam genug gelesen, was die Formel eigentlich beschreibt. Lies nochmal, vielleicht kommst du ja von alleine darauf, wo dort der Faktor 2 im Nenner herkommt.
Hi Mach mal einen Link zu der Stelle im Wiki. Wenn das wirklich unter CTC steht ist es falsch. MfG Spess
Hallo, wegen Datenblatt: ich habe das vom Attiny2313, vom Atmega8, Atmega1284 usw angeschaut und verglichen. Hier der Link zum Wiki: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR#CTC-Betriebsart_.28Clear_Timer_on_Compare_Match.29
john schrieb: > Was ist nun richtig? Ich denke mal das im Datenblatt oder? Nimm den Simulator deiner Entwicklungsumgebung und probier's aus. Irgendwelche Mutmaßungen, wem man nun glauben möchte, nützen da überhaupt nichts.
Oh John, hast du mal an den "Toggle " gedacht ? Dann ändert sich immer erst beim 2ten Durchlauf etwas. Gruss K.Putt
Hi >Oh John, hast du mal an den "Toggle " gedacht ? >Dann ändert sich immer erst beim 2ten Durchlauf etwas. Im Wiki steht: 'Die Frequenz des Taktes am entsprechenden Ausgang ist dann:...'. Und das ist falsch. MfG Spess
spess53 schrieb: > Im Wiki steht: > > 'Die Frequenz des Taktes am entsprechenden Ausgang ist dann:...'. Und > das ist falsch. Jap, bei der Beschreibung ist die Formel falsch. Das führt den armen John jetzt aber noch mehr in die Irre, denn für seinen Zweck ist die richtige Formel die falsche. ;-)
Ok, danke, nun habe ich es denke ich verstanden ;) Also wenn ich einen Takt von 20Mhz habe und einen Interrupt mit 400Hz will, dann rechne ich das so aus: OCR1A = (f_cpu/(prescaler*f_oc))-1 = (20000000/(8*400))-1 = 6249 Das sollte nun aber passen oder? Vielen Dank für eure Hilfe
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.