Hallo, woher kann man den Standardwert des internen Oszillators entnehmen ? Ich habe gerade das Datenblatt meines µC (ATmega644P) durchsucht nach "internal oscillator", da gibt es dann sogar Grafiken über "internal oscillator speed" für den Watchdog in Abhängigkeit von Temperatur und Spannung ..., ca. 120 KHz ... ? Irgndwo habe ich was von einer Standardeinstellung von 1 MHz gelesen ... Wenn man das ständig braucht, kann es doch nicht so kompliziert sein, das rauszukriegen, wo ist der Trick ?
Tilmann schrieb: > Wenn man das ständig braucht, kann es doch nicht so kompliziert sein, > das rauszukriegen, wo ist der Trick ? Der Trick ist, dass Atmel alle AVR so ausliefert, dass sie im Auslieferungszustand auf 1Mhz (mehr oder weniger) laufen. Und jetzt kommts drauf an. Hat dein µC eine CKDIV8 Fuse, die einen Takt durch 8 runterteilt, dann ist die auch gesetzt - der interne Oszi läuft auf 8Mhz und durch die CKDIV8 ergibt sich wieder die Standard-Geschwindigkeit von 1Mhz. Hat dein µC keine CKDIV8, dann läuft der interne Oszi auch standardmässig mit 1Mhz und du hast wieder die 1Mhz. Egal wie. Im AUslieferungszustand hast du immer 1Mhz Im übrigen. Im Datenblatt bei den Clock-Options, dort wo die Fusebedeutung aufgelistet sind, müsste es einen Vermerk geben, was Default eingestellt ist.
Datenblatt: http://www.atmel.com/images/doc8011.pdf Seite 36, Abschnitt 6.6 und Tabelle 6-10. Mit Prosa zur Erklärung. Was willst du noch? Genau dort man es vermutet: System Clock & Clock Options -> Calibrated Internal RC Oscillator. Man muss davon ausgehen dass du blind bist wenn du das nicht findest. Und ja, die CLKDIV8 bewirkt dann 1 MHz, was aber mit der Geschwindigkeit des Internal RC Oscillators auch wenig zu tun hat. Und die Fuse wird im obigen Abschnitt ebenfalls erwähnt und beschrieben inkl. Link auf Abschnitt für die Fuse selber. > wo ist der Trick Nicht stumpf nach irgendwelchen Stichworten suchen sondern das Inhaltsverzeichniss des Datenblattes lesen und sich dort das richtige Kapitel zu suchen. Wie liest du Fachbücher? Erstmal im Index nachgucken? gruß cyblord
Vielen Dank für die Antworten, besonders an Karl-Heinz ! Gruß Tilmann
kann nicht endlich einmal jemand cyblord hier rausschmeißen?
DerGenervte schrieb: > kann nicht endlich einmal jemand cyblord hier rausschmeißen? Was bist du denn für ne Pfeife? Anonym pöbeln, du bist der Held. @Tilman: Keine Ursache dass ich dir im Datenblatt deinen Scheiß nachschlagen durfte. Kannst du nächstes mal alleine machen. Undank ist der Welten Lohn.
Methode des Praktikers: CKOUT-Fuse setzen, und an PB1 mit einem Oszi nachmessen...
Ich hab mal einen Code gechrieben, womit man den internen RC auf einen 32kHz Quarz synchronisieren kann. Schau : http://www.ibrtses.com/embedded/avrosccal.html
Ganz ohne Quarz kann man auskommen, wenn die Bitlänge eines seriellen Zeichens gemessen wird, von der man annimmt, dass sie die exakte Dauer hat. D.h. z.B. die Länge (in µC-Cyclen) des vom PC gesendeten Startbits oder des ganzen Zeichens (z.B. 0x00) wird gemessen. Wenn sie innerhalb gewisser Grenzen liegt, dient sie als Referenzwert.
Karl Heinz Buchegger schrieb: > Der Trick ist, dass Atmel alle AVR so ausliefert, dass sie im > Auslieferungszustand auf 1Mhz (mehr oder weniger) laufen. > (...) > Egal wie. Im AUslieferungszustand hast du immer 1Mhz Das "mehr oder weniger" trifft es sehr gut: der ATtiny13A zum Beispiel läuft mit 1,2 MHz (der Oszillator schwingt mit 9,6 MHz). Am besten also wirklich ins Datenblatt des jeweiligen Mikrocontrollers schauen, man kann es nicht oft genug sagen...
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.