Der Atmega88 und seine Derivate haben ja unter anderem einen internen Clock-Teiler von 8. Nun wurde ich heute gefragt, welchen Sinn das macht und wusste selbst keine Antwort darauf. Klar, ich kann damit z.B. an den Atmega einen 8 MHz-Quarz hängen und den Atmega dann mit 1 MHz laufen lassen. Es stellt sich aber dabei die Frage, wenn ich den Atmega mit 1 MHz laufen lassen will warum ich nicht auch direkt eine 1 MHz Quelle benutzen sollte. Was bringt mir also der Clock-Divider?
:
Bearbeitet durch User
Hi Michael, Stichwort ist Stromverbrauch. Da gibt's im Datenblatt eine Darstellung bzgl. Frequenz -> Strom.
>nicht auch direkt eine 1 MHz Quelle
Z.B. bei Reichelt finde ich keinen 1 MHz Quarz, und selbst 2 MHz sind
teurer als höhere Frequenzen.
Michael Köhler schrieb: > Nun wurde ich heute gefragt, welchen Sinn das macht > und wusste selbst keine Antwort darauf. Die Controller haben einen Eingangsspannungsbereich von 1,8V -5,5V und einen Freqeunzbereich bis 16 bzw. 20MHz. Bei 1,8V sind aber nur max. 4MHz zulässig. Deswegen wird der interne 8Mhz-Oszillator per CKDIV8-Fuse auf 1Mhz runtergeteilt und der Controller auch so ausgeliefert. Damit läuft er auf jeden Fall bei jeder Spannung. Beim Atmega8 und den anderen Altlasten ist die Einstellung etwas anders, hat aber den gleichen Sinn. Natürlich senkt ein niedrigerer Takt auch den Stromverbrauch. Per Clock Prescale Register sind noch andere Teiler möglich. mfg.
:
Bearbeitet durch User
Uwe S. schrieb: > Hi Michael, > > Stichwort ist Stromverbrauch. Da gibt's im Datenblatt eine Darstellung > bzgl. Frequenz -> Strom. Ach, wenn ich einen 8 MHz-Quarz nehme und den auf 1 MHz intern runterteile hat der Atmega einen geringeren Stromverbrauch als wenn ich direkt einen 1 MHz-Quarz nehmen würde? Also das ist mir neu. der alte Hanns schrieb: > Z.B. bei Reichelt finde ich keinen 1 MHz Quarz, und selbst 2 MHz sind > teurer als höhere Frequenzen. http://www.reichelt.de/Oszillatoren/OSZI-1-000000/3//index.html?ACTION=3&GROUPID=3174&ARTICLE=13673&OFFSET=16& Also das war jetzt mal gar kein Problem. Thomas Eckmann schrieb: > Bei 1,8V sind aber nur max. 4MHz zulässig. Deswegen wird der interne > 8Mhz-Oszillator per CKDIV8-Fuse auf 1Mhz runtergeteilt und der > Controller auch so ausgeliefert. Damit läuft er auf jeden Fall bei jeder > Spannung. Yo, super. Und wenn ich an den Divider nicht denke läuft der µC gar nicht wie man hier im Forum auch immer wieder mal gut beobachten kann. Es stellt sich aber auch hier die Frage: wenn ich denn µC nur mit 1 (oder auch 4) MHz laufen lassen will, warum dann nicht gleich einen solchen Quarz holen? Funktioniert ja schließlich auch bei allen anderen µCs die keinen Clock-Teiler haben (z.B. Atmega32).
:
Bearbeitet durch User
Vielleicht, weil man den AVR auch in einer Anwendung einsetzen möchte, bei der man kurzzeitig 'viel' Rechenleistung (oder schnelle OCRs oder den UART) braucht und dann wieder ganz lange stromsparen möchte? Oder weil man sich in einer Anwendung mit wenig Spannung bewegt und irgendwo anders grade 8 MHz abgreifen kann?
Nase schrieb: > Vielleicht, weil man den AVR auch in einer Anwendung einsetzen möchte, > bei der man kurzzeitig 'viel' Rechenleistung (oder schnelle OCRs oder > den UART) braucht und dann wieder ganz lange stromsparen möchte? Man kann während des Betriebs die Fusebits ändern? Könnte interessant sein aber warum nicht generell dann schnell arbeiten und lange schlafen bis es wieder was zu tun gibt? Nase schrieb: > Oder weil man sich in einer Anwendung mit wenig Spannung bewegt und > irgendwo anders grade 8 MHz abgreifen kann? Der interessanteste Aspekt bisher.
Michael Köhler schrieb: > Man kann während des Betriebs die Fusebits ändern? Stimmt, ist ja eine Fuse :-/
Hi
>Man kann während des Betriebs die Fusebits ändern?
Nein. Und der ATMega8 besitzt kein Prescaler Register, man kann also
außer beim internen RC-Oszillator keine andere Frequenz einstellen.
MfG Spess
Michael Köhler schrieb:
>Also das war jetzt mal gar kein Problem.
Aha. Nur dass ich von einem Quarz redete, und Ihr Oszillator ein
Mehrfaches benötigt an Geld, Strom und Platz.
Michael Köhler schrieb: > warum dann nicht gleich einen > solchen Quarz holen? Weil du dann zwei (Quarz) oder einen (Oszillator) Portpin verlierst. Im Auslieferzustand mit 1 MHz läuft der Mega8 dann mit etwa 2,2 mA, während er bei 8Mhz schon 10mA zieht.
Matthias Sch. schrieb: > Weil du dann zwei (Quarz) oder einen (Oszillator) Portpin verlierst. Im > Auslieferzustand mit 1 MHz läuft der Mega8 dann mit etwa 2,2 mA, während > er bei 8Mhz schon 10mA zieht. Frage nicht verstanden? Wenn ich den internen Oszillator wähle: Warm sollte ich ihn auf 8 MHz einstellen und dann mit dem Clock Divider auf 1 MHz runter brechen? Warum nicht gleich auf 1 MHz einstellen? Dass der Atmega mit höherer Frequenz auch mehr Strom zieht ist auch klar. Nochmal für alle zum mitschreiben: Warum sollte ich einen acht mal größeren Oszillator wählen und diesen dann mittels Fusebits auch 1/8 runterbrechen? Warum nicht einen Oszillator wählen, sodass der Atmega von vorne herein mit der Wunschgeschwindigkeit läuft? Wie schon gesagt, ich sehe keinen wirklichen Vorteil. der alte Hanns schrieb: > Aha. Nur dass ich von einem Quarz redete, und Ihr Oszillator ein > Mehrfaches benötigt an Geld, Strom und Platz. Naja, das ist relativ. Ich hab bisher immer nur Quarze im H49-Gehäuse benutzt und diese haben auch immer entsprechende Kondensatoren gebraucht. Da relativiert sich schonmal der Platzbedarf aber mit Preis kommts schon hin. wäre ein Argument sofern man wirklich eine Frequenz zwischen etwa 300 kHz und 1.8 MHz haben möchte und nicht den internen Oszillator benutzen will.
Hi >Frage nicht verstanden? Wenn ich den internen Oszillator wähle: Warm >sollte ich ihn auf 8 MHz einstellen und dann mit dem Clock Divider auf 1 >MHz runter brechen? Warum nicht gleich auf 1 MHz einstellen? Nochmal: Beim ATMega8 gibt es keinen Clockteiler. Der interne RC-Oszillator läuft mit 1, 2, 4 oder 8MHz. MfG Spess
Michael Köhler schrieb: > Nochmal für alle zum mitschreiben: Warum sollte ich einen acht mal > größeren Oszillator wählen und diesen dann mittels Fusebits auch 1/8 > runterbrechen? Warum nicht einen Oszillator wählen, sodass der Atmega > von vorne herein mit der Wunschgeschwindigkeit läuft? Nochmal nur für dich zum mitschreiben: Beim Atmega8 wird das genau so gemacht. Die neueren Controller haben die CLKDIV8-Fuse und einen Prescaler. Aber die sind damit nichts für dich. mfg.
spess53 schrieb: > Nochmal: Beim ATMega8 gibt es keinen Clockteiler. Stimmt, ist der z.B. Atmega88. Egal, das Thema sollte doch klar sein oder etwa nicht? EDIT: Hab den Threadtitel angepasst.
:
Bearbeitet durch User
Vielleicht um auch Frequenzen < 1MHz mit internem Oszillator nutzen zu koennen, vielleicht auch - hab das Datenblatt gerade nicht da - um andere Frequenzen ggf unabhaengig vom CPU Takt verfuegbar zu haben. Wobei mir da aktuell nichts konkretes einfaellt. Vielleicht auch um krumme Frequenzen zu erzeugen fuer die es keine (guten) Quarze gibt/gab. Nachdem der Teiler auch 'fix' ist koennte die Genauigkeit auch eine Rolle spielen, falls hoehere Frequenzen exakter erzeugbar sind als niedrige (Quarz Datenblatt). so, mehr faellt mir nicht ein :-) //hufnala
Michael Köhler schrieb: > Uwe S. schrieb: >> Stichwort ist Stromverbrauch. Da gibt's im Datenblatt eine Darstellung >> bzgl. Frequenz -> Strom. > > Ach, wenn ich einen 8 MHz-Quarz nehme und den auf 1 MHz intern > runterteile hat der Atmega einen geringeren Stromverbrauch als wenn ich > direkt einen 1 MHz-Quarz nehmen würde? Das hat doch niemand behauptet. > Thomas Eckmann schrieb: >> Bei 1,8V sind aber nur max. 4MHz zulässig. Deswegen wird der interne >> 8Mhz-Oszillator per CKDIV8-Fuse auf 1Mhz runtergeteilt und der >> Controller auch so ausgeliefert. Damit läuft er auf jeden Fall bei jeder >> Spannung. > > Yo, super. Und wenn ich an den Divider nicht denke läuft der µC gar > nicht wie man hier im Forum auch immer wieder mal gut beobachten kann. Lern lesen! Im Auslieferungszustand ist die CLKDIV Fuse gesetzt. Eben damit der µC auch bei kleiner Spannung losläuft. > Es stellt sich aber auch hier die Frage: wenn ich denn µC nur mit 1 > (oder auch 4) MHz laufen lassen will, warum dann nicht gleich einen > solchen Quarz holen? Weil es um die Verwendung des internen RC-Oszillators ging. Der läuft nun mal mit 8MHz. Und ohne den kannst du noch nicht mal die Fuse setzen um dem µC zu sagen, daß er deinen externen Quarz verwenden soll. Michael Köhler schrieb: > Man kann während des Betriebs die Fusebits ändern? Nein. Muß man aber nicht, weil die CLKDIV Fuse nur den Initialwert für den Clock Prescaler nach dem Reset vorgibt. Michael Köhler schrieb: > Frage nicht verstanden? Wenn ich den internen Oszillator wähle: Warm > sollte ich ihn auf 8 MHz einstellen und dann mit dem Clock Divider auf 1 > MHz runter brechen? Warum nicht gleich auf 1 MHz einstellen? Zeig doch mal bitte, wie du den internen Oszillator auf 1MHz einstellst, ohne die CLKDIV Fuse zu bemühen. Der läuft mit 8MHz plusminus ein bißchen. Um ihn auf 4MHz oder 2MHz per Clock Prescaler runterzudrehen, muß der µC aber erst mal laufen. Das tut er bei kleinen Versorgungsspannungen aber nur, wenn der Prescaler per CLKDIV Fuse auf Teiler 8 voreingestellt wird. XL
Axel Schwenke schrieb: > Das hat doch niemand behauptet. So liest es sich aber. Axel Schwenke schrieb: > Lern lesen! Im Auslieferungszustand ist die CLKDIV Fuse gesetzt. Eben > damit der µC auch bei kleiner Spannung losläuft. Ich kann lesen, du auch? Wenn man jetzt sein Programm schreibt und dann z.B. mit 8 MHz arbeiten will und nicht an dieses Fusebit denkt läuft der µC auch nicht los. Daher kann das kein Argument sein für den Clock-Teiler. Der Vorteil kleinerer Spannungen und geringeren Strombedarfs bei kleinerem Clock ist mir durchaus bekannt. Axel Schwenke schrieb: > Weil es um die Verwendung des internen RC-Oszillators ging. Der läuft > nun mal mit 8MHz. Und ohne den kannst du noch nicht mal die Fuse setzen > um dem µC zu sagen, daß er deinen externen Quarz verwenden soll. Aha, und wenn ich den µC auf externen Clocksource umgestellt habe ohne Prescaler…also bisher konnte ich dann immer den µC auch wieder neu flashen. Obwohl dann das CLKDIV-Fusebit nicht mehr aktiv ist. Axel Schwenke schrieb: > Zeig doch mal bitte, wie du den internen Oszillator auf 1MHz einstellst, > ohne die CLKDIV Fuse zu bemühen. Der läuft mit 8MHz plusminus ein > bißchen. Um ihn auf 4MHz oder 2MHz per Clock Prescaler runterzudrehen, > muß der µC aber erst mal laufen. Mit dem CLKPR vielleicht? Das CLKDIV-Fusebit muss dafür nicht gesetzt sein. Das CLKDIV-Fusebit macht nichts anderes, wie du sicher weißt, als das CLKPR auf einen Initialwert von 8 zu setzen. Man kann aber auch einen Initialwert von z.B. 256 einstellen. Axel Schwenke schrieb: >Das tut er bei kleinen > Versorgungsspannungen aber nur, wenn der Prescaler per CLKDIV Fuse auf > Teiler 8 voreingestellt wird. Immer wieder das Gleiche: Im Kern gehts immer wieder um kleine Versorgungsspannungen. Daher immer wieder meine Frage: Warum den Clock-Teiler benutzen und nicht gleich den richtigen Oszillator? Geringe Vorsorgungsspannung von 1.8V kann man schon mit z.B. 2 MHz benutzen und dafür gibts jede Menge Quarze/Oszillatoren. Bisher einzig sinnige Antwort: Weil ich vielleicht, aus welchen Gründen auch immer (wäre aber auch interessant), eine Frequenz fahren will für die es keinen Quarz/Oszillator gibt.
So langsam geht deine Borniertheit wahrscheinlich nicht nur mir auf den Geist. Ist ja nicht auszuhalten, was du für einen Dünnschiss von dir gibst. Lies die Argumente, die mittlerweile alle gebracht wurden und verdreh den Leuten nicht das Wort im Mund. Was faselst du ständig von Quarzen? Wenn man einen Quarz nimmt, nimmt man den richtigen. Der Prescaler ist dabei nur Sonntags beim Basteln ein Thema, wenn man in der Bastelkiste nur einen doppelt so schnellen hat, wie man bräuchte. Hier geht es ausschliesslich um den internen Oszillator. Und der läuft mit 8MHZ. Das ist aber bei 1,8V zu schnell. Für viele Anwendungen, die dann mit höherer Spannung laufen müssen, aber zu langsam. Der interne RC-Oszillator verbraucht aber weniger Strom, als der Oszillator mit externem Quarz. Und für batteriebetriebene Anwendungen ist Stromverbrauch das Thema schlechthin. mfg.
:
Bearbeitet durch User
Ich hab mir inzwischen die Antwort aus dem Datenblatt rekonstruiert (die hier im Thread übrigens nicht genannt wurde, der Prescaler ist nicht ganz so einfach veränderbar wie mit dem Fusebit). Einige sollten aber vielleicht mal überlegen ob ihre Antwort didaktisch schlichtweg ungünstig war und deshalb auf der Gegenseite nicht verstanden wurde statt der Gegenseite Borniertheit oder ähnliches vorzuwerfen.
Michael Köhler schrieb: > Ich hab mir inzwischen die Antwort aus dem Datenblatt > rekonstruiert (die Du Ärmster, musstes du ins Datenblatt gucken. Aber trotzdem beeindruckend. > hier im Thread übrigens nicht genannt wurde, der Prescaler ist nicht > ganz so einfach veränderbar wie mit dem Fusebit). Ach nein? Erstens wurde die Möglichkeit genannt: Thomas Eckmann schrieb: > Natürlich senkt ein niedrigerer Takt auch den Stromverbrauch. Per Clock > Prescale Register sind noch andere Teiler möglich. Zweitens ist es an dir, im Datenblatt nachzulesen, was dabei zu beachten ist. > Einige sollten aber vielleicht mal überlegen ob ihre Antwort didaktisch > schlichtweg ungünstig war und deshalb auf der Gegenseite nicht verstanden > wurde statt der Gegenseite Borniertheit oder ähnliches vorzuwerfen. Solche Forderungen kannst du stellen, wenn du eine Hotline für 3€/min. anrufst. Und die Borniertheit wiederhole ich nochmal. mfg.
Michael Köhler schrieb: > Axel Schwenke schrieb: >> Lern lesen! Im Auslieferungszustand ist die CLKDIV Fuse gesetzt. Eben >> damit der µC auch bei kleiner Spannung losläuft. > > Ich kann lesen, du auch? Wenn man jetzt sein Programm schreibt und dann > z.B. mit 8 MHz arbeiten will und nicht an dieses Fusebit denkt läuft der > µC auch nicht los. Wieso läuft der µC "nicht los"? Natürlich läuft er. Nur eben Faktor 8 langsamer als gewünscht. Und? Wer die Inbetriebnahmeanleitung nicht liest, der fällt halt aufs Maul. Das ist bei einer Waschmaschine oder einem Toaster nicht anders. >> Weil es um die Verwendung des internen RC-Oszillators ging. Der läuft >> nun mal mit 8MHz. Und ohne den kannst du noch nicht mal die Fuse setzen >> um dem µC zu sagen, daß er deinen externen Quarz verwenden soll. > > Aha, und wenn ich den µC auf externen Clocksource umgestellt habe ohne > Prescaler Das kannst du aber u.U. gar nicht. Nämlich dann wenn der µC bei einer Betriebsspannung geflasht/ge(ver)fused werden muß bei der er die 8MHz nicht schafft. >> Zeig doch mal bitte, wie du den internen Oszillator auf 1MHz einstellst, >> ohne die CLKDIV Fuse zu bemühen. Der läuft mit 8MHz plusminus ein >> bißchen. Um ihn auf 4MHz oder 2MHz per Clock Prescaler runterzudrehen, >> muß der µC aber erst mal laufen. > > Mit dem CLKPR vielleicht? Und wie setzt du die, wenn dein µC mit den 8Mhz des internen Oszillators gar nicht erst losläuft? Und ich meine hier wirklich: nicht losläuft. > Das CLKDIV-Fusebit macht nichts anderes, wie du sicher weißt, als > das CLKPR auf einen Initialwert von 8 zu setzen. Man kann aber auch > einen Initialwert von z.B. 256 einstellen. Aha. Wie kommst du darauf? Das stimmt nämlich nicht. Du kannst den Prescaler auf genau 2 Werte voreinstellen: auf 1 und auf 8. Und zwar genau mit der CLKDIV Fuse. Für alle anderen Werte muß der µC erstmal laufen, sein Programm ausführen und kann dann den Prescaler setzen. > Immer wieder das Gleiche: Im Kern gehts immer wieder um kleine > Versorgungsspannungen. Ja. Daß dir diese Antwort nicht gefällt, liegt nicht an uns. Es gibt aber keine andere. > Daher immer wieder meine Frage: Warum den > Clock-Teiler benutzen und nicht gleich den richtigen Oszillator? Weil im Auslieferungszustand des ATmega88 (und der meisten anderen aktuellen AVRs) nun mal der interne Oszillator als Taktquelle eingestellt ist und nicht ein externer Taktgenerator. Was alle die Kunden von Atmel gut finden, die den µC in der Anwendungsschaltung programmieren (müssen) und die XTAL Pins für was anderes als einen Quarz oder Taktgenerator verwenden (müssen). Der interne Oszillator ist nun mal die universellste Wahl. Weil er in jeder Anwendungsschaltung funktioniert. Mit der kleinen aber wichtigen Ausnahme, wenn der µC bei einer Betriebsspannung arbeiten muß bei der er die 8MHz nicht schafft. Weder zum Arbeiten noch zum Programmieren (sowohl Flash als auch Fuses). Genau dafür gibts die CLKDIV Fuse. Und genau darum ist sie auch im Auslieferungszustand gesetzt. Eine kleine Gruppe von Atmels Kunden wird das so brauchen, andere werden die CLKDIV Fuse einfach selber auf den gewünschten Wert setzen. Ein vermutlich noch größerer Teil wird sagen "Was solls, ich setze CLKPR ja sowieso in meinem Programm und ob der µC bis zu dieser Stelle mit 1/8 Geschwindigkeit läuft ist mir Schnuppe". Schließlich wird noch eine kleine Minderheit von Ignoranten hier im Forum aufschlagen und rumheulen "Mi mi mi! Mein AVR läuft gefühlt zehnmal zu langsam, woran liegt das????" XL
Der Blick ins Datenblatt sagt: The Atmel ATmega48/88/168 has a system clock prescaler, and the system clock can be divided by setting the “CLKPR – Clock prescale register” on page 37. This feature can be used to decrease the system clock frequency and the power consumption when the requirement for processing power is low. This can be used with all clock source options, and it will affect the clock frequency of the CPU and all synchronous peripherals. clkI/O, clkADC, clkCPU, and clkFLASH are divided by a factor as shown in Table 9-14 on page 38. Weiterhin ist zu entnehmen, dass der besagte CLKPR kein Fuse ist, sondern (unter Beachtung gewisser Bedingungen) während des Betriebs geändert werden kann.
:
Bearbeitet durch User
Michael Köhler schrieb: > Nochmal für alle zum mitschreiben: Warum sollte ich einen acht mal > größeren Oszillator wählen und diesen dann mittels Fusebits auch 1/8 > runterbrechen? Warum nicht einen Oszillator wählen, sodass der Atmega > von vorne herein mit der Wunschgeschwindigkeit läuft? Ganz einfach: SMD Quarze in kleinem Gehauese gibt es erst ab Frequenzen von 8MHz aufwaerts weil das Quarzplaettchen sonst nicht ins Gehaeuse passt. Und nein die riesigen bedrahteten Truemmerteile ala HC49 oder so will keiner in der Industrie mehr haben.
@ Helmut Lenzen (helmi1) >SMD Quarze in kleinem Gehauese gibt es erst ab Frequenzen von 8MHz >aufwaerts weil das Quarzplaettchen sonst nicht ins Gehaeuse passt. Wie erklärst du dann die Größe von 32,768 kHz Uhrenquarzen? ;-) >Und nein die riesigen bedrahteten Truemmerteile ala HC49 oder so will >keiner in der Industrie mehr haben. Vielleicht eine russiche Panzerschmiede ;-)
Falk Brunner schrieb: > Vielleicht eine russiche Panzerschmiede ;-) Die takten mit Pendeln. Unanfällig gegen EMP. mfg.
:
Bearbeitet durch User
Falk Brunner schrieb: > Wie erklärst du dann die Größe von 32,768 kHz Uhrenquarzen? ;-) Da ist ein andere Quarztype drin (Biegeschwinger), die gehen aber nicht so hoch in der Frequenz (einige 100kHz) Quarze fuer hoehere Frequenzen werden als Dickenscherschwinger gefertigt. Je niederiger die Frequenz umso groessere werden die. In die kleinen 2 x3 mm SMD Gehauese passen die erst ab 8Mhz aufwaerts rein. Falk Brunner schrieb: > Vielleicht eine russiche Panzerschmiede ;-) Die haben noch Quarze im Roehrensockel drin ;-)
M. S. schrieb: > Weiterhin ist zu entnehmen, dass der besagte CLKPR kein Fuse ist, > sondern (unter Beachtung gewisser Bedingungen) während des Betriebs > geändert werden kann. Bist du ein Verwandter vom TO? CLKPR -> Prescaler für Timer CKDIV8 -> Fuse für Systemtakt
Thomas Eckmann schrieb: > Prescaler für den Systemtakt. Ja, stimmt. Für 'nachträgliche' Einstellungen. Die Timer kann man einzeln einstellen. Die korrekte Erklärung war schon hier: Beitrag "Re: Atmega8 Internal Clock Divider"
Ralf G. schrieb: > CLKPR -> Prescaler für Timer > CKDIV8 -> Fuse für Systemtakt Öhm, CLKPR ist der Prescaler für den Systemtakt. CLKDIV8 stellt diesen nur auf einen Wert von 8 ein. Der Timer-Prescaler ist im TCCRx zu finden. Helmut Lenzen schrieb: > SMD Quarze in kleinem Gehauese gibt es erst ab Frequenzen von 8MHz > aufwaerts weil das Quarzplaettchen sonst nicht ins Gehaeuse passt. > Und nein die riesigen bedrahteten Truemmerteile ala HC49 oder so will > keiner in der Industrie mehr haben. Endlich mal eine vernüftige Antwort. Danke dir. M. S. schrieb: > Weiterhin ist zu entnehmen, dass der besagte CLKPR kein Fuse ist, > sondern (unter Beachtung gewisser Bedingungen) während des Betriebs > geändert werden kann. Richig, aber das Fusebit setzt dieses Register nur sodass sich ein Teiler von 8 einstellt ;) Axel Schwenke schrieb: > Aha. Wie kommst du darauf? Das stimmt nämlich nicht. Du kannst den > Prescaler auf genau 2 Werte voreinstellen: auf 1 und auf 8. Und zwar > genau mit der CLKDIV Fuse. Für alle anderen Werte muß der µC erstmal > laufen, sein Programm ausführen und kann dann den Prescaler setzen. DAS geht so aus dem Datenblatt erstmal gar nicht hervor bzw. die entsprechende Stelle hab ich nicht gefunden. Aber dein Beitrag war jetzt ausführlich genug. Thomas Eckmann schrieb: > Zweitens ist es an dir, im Datenblatt nachzulesen, was dabei zu beachten > ist. Das hab ich ja gemacht, konnte mir aber zunächst schlicht keinen Reim darauf machen. Daher hab ich ja hier gefragt. Im Allgemeinen glaub ich lass ich es demnächst hier zu fragen. Wenn ich frage dann nicht um blöd angemacht zu werden und wenn man sieht an meinen Antworten, dass ich es nicht verstanden habe dann hilft es wahrscheinlich wesentlich besser wenn man die Antwort noch mal neu, ggf. ausführlicher formuliert wie es einige hier aber auch umgesetzt haben. Für mich ist somit hier alles klar und ich danke allen für ihre Mühe es mir zu erklären.
Michael Köhler schrieb: > Axel Schwenke schrieb: >> Du kannst den >> Prescaler auf genau 2 Werte voreinstellen: auf 1 und auf 8. Und zwar >> genau mit der CLKDIV Fuse. Für alle anderen Werte muß der µC erstmal >> laufen, sein Programm ausführen und kann dann den Prescaler setzen. > > DAS geht so aus dem Datenblatt erstmal gar nicht hervor bzw. die > entsprechende Stelle hab ich nicht gefunden. Aber dein Beitrag war jetzt > ausführlich genug. Aha. > Im Allgemeinen glaub ich lass ich es demnächst hier zu fragen. Wenn ich > frage dann nicht um blöd angemacht zu werden und wenn man sieht an > meinen Antworten, dass ich es nicht verstanden habe dann hilft es > wahrscheinlich wesentlich besser wenn man die Antwort noch mal neu, ggf. > ausführlicher formuliert ... Den Schuh kannst du dir selber anziehen. Denn du hast keineswegs zu erkennen gegeben, daß du das Datenblatt oder die gegebenen Erklärungen nicht verstanden hast. Ja, womöglich lag das daran daß sie zu knapp gehalten waren. Aber ich kann aus der Ferne nicht sehen, ob es bei dir jetzt Klick gemacht hat oder nicht, wenn du es nicht sagst. Statt dessen hast du voller Überzeugung die immer gleichen, falschen Behauptungen vorgebracht. Wie z.B. daß du ja problemlos einen externen Takt anschließen kannst (ohne vor her die Clock-Fuses setzen zu müssen) oder daß du ja problemlos eine Prescalereinstellung zwischen 1 und 256 vorgeben könntest (ohne daß der µC dazu erst mal laufen müßte). Es ist keine Schande zuzugeben "ich weiß das nicht" oder "ich habe das nicht verstanden". Es ist aber eine Schande, wenn man in diesem Zustand des Nichtwissens verharrt statt zu fragen und zu lernen. XL
Michael Köhler schrieb: > Der Atmega88 und seine Derivate haben ja unter anderem einen internen > Clock-Teiler von 8. Nun wurde ich heute gefragt, welchen Sinn das > macht... Jetzt ich (ich glaube ich bin zu Spät ;-) ): Sinn: Taktanpassung des internen Oszillators. Kurze Version: Mit einem Quarz macht es keinen Sinn (Ausnahmen bestätigen die Regel). P.S.: Mit dem Register CLKPR kann man den Teiler auch zur Laufzeit anpassen. Damit ist es möglich, das FUSE Bit im Initialzustand zu belassen. Mit dem internen Oszillator schaltet man mit dem Teiler zwischen 1 MHz und 8 MHz um. Lange Version: Ein Blick in das Datenblatt des ATmega8 gibt etwas Klarheit. Der Mega8 hat keinen Teiler aber 4 verschiedene interne Oszillatoren (1 ,2 ,4 und 8 MHz). Das hat man sich bei der nachfolgen Generation gespart und den Teiler eingeführt. Damit benötigt man nur noch einen internen Oszillator und kann trotzdem den Takt ändern. Das man bei einem externen Takt auch den Teiler verwenden kann, hat nur wenig Bedeutung.
Michael Köhler schrieb: > Das hab ich ja gemacht, konnte mir aber zunächst schlicht keinen Reim > darauf machen. Daher hab ich ja hier gefragt. Schon im Ausgangspost hast du mit deiner Fragestellung impliziert, dass der Prescaler Blödsinn ist. Trotz aller Erklärungen, hast du ständig weiterhin darauf rumgeritten. Wie ein bockiges Kleinkind. mfg.
Die einzig vernünftige, sinnvolle und normale Antwort gab Uwe K. um 15:23 Uhr. Dafür danke.
Axel Schwenke schrieb: > Es ist keine Schande zuzugeben "ich weiß das nicht" oder "ich habe das > nicht verstanden". Es ist aber eine Schande, wenn man in diesem Zustand > des Nichtwissens verharrt statt zu fragen und zu lernen. Frage zur Anregung: Wie hoch schätzt du die Wahrscheinlichkeit ein, dass ich hier gefragt hatte wenn ich im Zustand des Nichtwissens verharren wollte? Ja, ich hab das mit dem Prescaler auch falsch verstanden. Mir ist aber auch neu, dass ein falsches Verständnis eine Schande ist. Vielleicht ist es aber auch eine Schande jemanden wegen seines falschen Verständnisses einfach anzublöken statt ihm zu sagen, dass er da wahrscheinlich etwas falsch verstanden hat. Bitte sei doch so nett und geh demnächst nicht einfach davon aus, dass der Gegenüber borniert ist sondern dass er vielleicht wirklich etwas nicht versteht und mache dann einfach eine ausführlichere Erklärung. Hat hier ja auch geklappt mit deiner ausführlichen Erklärung.
Michael Köhler schrieb: > DAS geht so aus dem Datenblatt erstmal gar nicht hervor bzw. die > entsprechende Stelle hab ich nicht gefunden. Aber dein Beitrag war jetzt > ausführlich genug. Michael Köhler schrieb: > Ja, ich hab das mit dem Prescaler auch falsch verstanden. Mir ist aber > auch neu, dass ein falsches Verständnis eine Schande ist. Nein, ist es nicht, aber man sollte schon den Unterschied zwischen Fuse und Register kennen, bevor man eine solche Diskussion anfängt.
Michael Köhler schrieb: > Ja, ich hab das mit dem Prescaler auch falsch verstanden. Mir ist aber > auch neu, dass ein falsches Verständnis eine Schande ist. Das ist es überhaupt nicht. Wenn du mir aber auf meinen ersten Post, in dem das Wesentliche drinsteht, so kommst: Michael Köhler schrieb: > Yo, super. Und wenn ich an den Divider nicht denke läuft der µC gar > nicht wie man hier im Forum auch immer wieder mal gut beobachten kann. Dann bist du, nicht nur bei mir, kurz vor lmaA. mfg.
Was war denn daran so schlimm? Ist das etwa falsch? Wenn ich dich damit beleidigt haben sollte tut es mir leid. Das war bei weitem nicht meine Absicht.
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.