Hallo, ich möchte gerne im AVR-Studio den Atmega1284P auf einen 16 Mhz Quarz einstellen. Leider finde ich hier nicht die Möglichkeiten, wie sie beim Atmega32 vom AVR-Studio angezeigt werden. Folgende Möglichkeiten werden bei dem 1284P angezeigt: EXTCLK INTRCOSC EXTLOFXTAL FSOSC EXTXOSC Das einzige was hier Sinn macht ist der EXTLOFXTAL. Wenn ich nach LowFrequenz im Datenblatt suchen, erhalte ich "optimized for use with a 32.768 kHz". Was muss ich auswählen, damit ich meinen 16 Mhz Quarz mit den zwei 22pF Kondensatoren betreiben kann? Gruß IH453
low_fuses=0xd7 high_fuses=0xd6 extended_fuses=0xfd kein Gewähr
IH453 schrieb: > EXTCLK Externer Takt per Quarz oder Keramik Resonator. Nur noch passend Bauart, Frequenz, Anschwingzeit und Totzeit nach Reset wählen. Wenn das Gerät nicht extrem schnell nach dem Einschalten aktiv sein muss, lieber 10ms mehr zugeben. Die Einstellung, die du nehmen solltest. > INTRCOSC interner RC Oszillator, willst du nicht. > EXTLOFXTAL externer Quarz mit niedriger Frequenz. Auch nicht richtig. > FSOSC Full Swing Oszillator. Gute Wahl, wenn man keine EMV Probleme hat. Schwingt sauber und wenig störanfällig. Normale Quarze sollten diese Last aushalten. > EXTXOSC Externer Taktgenerator. Hast du nicht.
Danke für eure schnellen Antworten. Insbesondere Georg G. für die ausführliche Beschreibung. Ähnlich habe ich mir die Abkürzungen auch hergeleitet, jedoch bin ich bei EXTCLK davon ausgegangen, dass hiermit ein externer Takt gemeint ist, welcher von einem anderen IC o.Ä. geliefert wird. Eine Frage hätte ich noch: bei EXTCLK finde ich: EXTCLK_6CK_0MS EXTCLK_6CK_4MS EXTCLK_6CK_65MS Warum sind hier keine Frequenzangaben zu finden? Lieg dies daran, dass die Quarze bereits einen festen Wert haben? Gruß IH453
IH453 schrieb: > Warum sind hier keine Frequenzangaben zu finden? Lieg dies daran, dass > die Quarze bereits einen festen Wert haben? Nein, das liegt daran das es sich hier um eine externe Taktquelle handelt, deren Frequenz fast beliebig sein kann (im Rahmen der Spezifikation). Das ist also kein Quarz.
Ingo Less schrieb: > Nein, das liegt daran das es sich hier um eine externe Taktquelle > handelt Atmel ist da leider etwas unpräzise. EXTCLK ist ein externer Quarz oder Keramik Resonator. Die externe Taktquelle ist EXTXOSC. IH453 schrieb: > EXTCLK_6CK_0MS Verzögerung nach Reset ist 6 Taktimpulse + 0ms > EXTCLK_6CK_4MS Verzögerung nach Reset ist 6 Taktimpulse + 4ms > EXTCLK_6CK_65MS Verzögerung nach Reset ist 6 Taktimpulse + 65ms Im Datenblatt ist das recht gut beschrieben. Du findest dort auch alle Vorteile und Nachteile der diversen Einstellungen sowie die nicht empfohlenen Kombinationen.
Ich hatte die Nachricht von Ingo Less eben wohl übersehen. Mittleweile weis ich, dass man mehr Informationen angezeigt bekommt, wenn man mit der Maus über den jeweiligen Modus fährt. So steht bei EXTCLK: Ext Clock.... und bei EXTXOSC: Ext. Chrystal... Die Frequenzbereiche, welche bei EXTXOSC angegeben sind entsprechenen denen, welche im Manual unter "Low Power Crystal Oscillator" stehen. Ebenso finde ich hier auch den Abschnitt "External Clock" mit einem Wertebereich von 0 - 20 Mhz und genau drei verschiedenen Delay-Zeiten. Da ich mich auf keinen Fall, aufgrund falscher Fuse-Bits, aussperren will, wollte ich noch einmal nachfragen, ob in der obigen Beschreibung vielleicht EXTCLK und EXTXOSC vertauscht wurden? Gruß IH453
Offensichtlich verwenden wir verschiedene Versionen des Studio. Das Datenblatt hat in jedem Fall Recht. Stell die deine gewünschte Version im Studio ein, programmiere sie aber nicht, notiere dir die HEX-Werte und vergleiche dann mit dem Datenblatt.
Ich bin nicht davon ausgegangen, dass es bei den Studioversionen so große Unterschiede gibt. Das nächtse Mal gebe ich die Studioversion mit an. Danke für deine Hilfe. Werde dies dann so umsetzen.
Bei mir sieht das so aus (Studio 4.18SP3), da muss man nicht raten, da steht Klartext.
IH453 schrieb: > Da ich mich auf keinen Fall, aufgrund falscher Fuse-Bits, aussperren > will, wollte ich noch einmal nachfragen, ob in der obigen Beschreibung > vielleicht EXTCLK und EXTXOSC vertauscht wurden? Du meinst die von "Georg G."? Ja da sind die beiden Sachen genau vertauscht, d.h.: du hättest dich erstmal ausgesperrt. Allerdings nicht schlimm, ein auf EXTCLK gefuseter läßt sich immerhin relativ leicht wieder zum Leben zu erwecken, selbst wenn er schon auf SMD gelötet ist. Trotzdem eine Sache, die man nicht unbedingt braucht, also war es einigermaßen clever, dass du selber aufgepaßt hast.
Danke euch Beiden für eure Antworten. Ich habe EXTOSC_8MHZ_XX_16KCK_65MS gewählt und mich nicht ausgesperrt. Soweit so gut. Jetzt habe ich jedoch das Problem, dass wohl noch irgendetwas fehlt. Wähle ich
1 | F_CPU 1000000 |
, so funktioniert der folgende Code ziemlich gut.
1 | PORTC=0b00000001; |
2 | _delay_ms(1000); |
3 | PORTC=0b00000000; |
4 | _delay_ms(1000); |
Der Takt entspricht ungefähr einer Sekunde. Setze ich nun
1 | F_CPU 16000000 |
, so brauch der obige Code ein vielfaches der Zeit von zuvor. Obwohl diese ja konst. bleiben müsste. Ich hoffe ihr könnt mir auch diesesmal weiter helfen. Bei dem Atmega32 waren keine weiteren Einstellungen notwendig. Gruß IH453
Ich habe nun das CLKPR-Register noch gesetzt und jetzt sollte es funktionieren.
IH453 schrieb: > Ich habe EXTOSC_8MHZ_XX_16KCK_65MS gewählt und mich nicht ausgesperrt. > Soweit so gut. > Jetzt habe ich jedoch das Problem, dass wohl noch irgendetwas fehlt. > > Wähle ichF_CPU 1000000, so funktioniert der folgende Code ziemlich gut. F_CPU muss natürlich im Code gesetzt sein passend zum Quarz! Ich nutze auch Studio 4.18 SR3 dort unter Projekt Settings. Auch muss der Haken CLOCK div 8 weg. sonst hast du zu lahme Ausführung. Dein "Fehler" liest sich aber wie interne 8 MHz und clock div 8 wenn deine 16 MHz aber keine sind sondern 8 / 8 weil intern muss der 16 MHz CPU CODE langsamer laufen, weil falsche Voraussetzungen.
:
Bearbeitet durch User
Hallo Joachim B., den Verdacht hatte ich auch erst, aber daran lag es nicht. Der Fehler lag an dem oben genannten Register. Gruß IH453 PS: Damit sollte das Thema bzw. der Thread erledigt sein.
IH453 schrieb: > Ich habe nun das CLKPR-Register noch gesetzt IH453 schrieb: > den Verdacht hatte ich auch erst, aber daran lag es nicht. > Der Fehler lag an dem oben genannten Register. wo soll das sein? IH453 schrieb: > Gruß IH453 > > PS: Damit sollte das Thema bzw. der Thread erledigt sein. OK freut mich für dich
:
Bearbeitet durch User
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.