Fuses für 16Mhz beim ATMEGA 644

OP (Firma: allround) #5119713
Hallo,

benutze AVRISP MK2;  16 MHZ Quarz am ATMEGA644PA

Beim ATMEGA16 wird bei den Fuses ExtCrystal/Resonator HIGHFreq 
angeboten.

AVRISP MK2 bietet für den ATMEGA644PA als höchste Freuenz ExtCrystal OSC 
8.0 MHZ an.

Wie kann ich die Fuses für den ATMEGA644PA so einstellen, dass er mit 
einem 16MHZ Quarz richtig taktet?

Laut Datenblatt erlaubt der ATMEGA644PA 20 MHZ, aber, wie gesagt, im 
AVRISP MK2 gibt es keine Option für höhere Frequenzen als 8 MHZ.
Gast
Udo S. schrieb:
> AVRISP MK2 bietet für den ATMEGA644PA als höchste Freuenz ExtCrystal OSC
> 8.0 MHZ an.

Nein, der AVRISP MK2 bietet gar nichts an. Es ist die IDE
die dir was anbietet. Aber über die IDE schweigst du dich
aus, das ist ja auch nicht so wichtig, gell?

Ich erinnere mich an einen Dialog in dem die Takt-Optionen
für AVRs gelistet sind, eine davon lautet in etwa

"Externer Quarz, 8Mhz bis..."

Bedeuted: Quarze ab 8 Mhz aufwärts.
Gast
Hello,
Use this site: http://www.engbedded.com/fusecalc/ to calculate fusebits 
for whatever microcontroller you want.
Specifically, for your case, use this set of settings:
lfuse:w:0xef
hfuse:w:0x99
efuse:w:0xfd

These fusebits ofers: quartz oscillator >8MHz (16 and 20 MHz included), 
disable CKDIV8 and set BrownOut at 4.3V
Best regards
Gast
ich wähle beim MEGA644 mit 16MHz Quarz im Atmel Studio unter SUT_CKSEL 
folgendes aus:

EXTOSC_8MHZ_XX_16KCK_65MS

funktioniert einwandfrei

Wie Nico schon schreibt: CKDIV8 disable um die volle Taktfrequenz zu 
nutzen.

In meinem Fall ergibt sich durch die restlichen Einstellungen:
lfuse:w:0xff
hfuse:w:0xd9
efuse:w:0xff
Gast
> lfuse:w:0xff
> hfuse:w:0xd9
> efuse:w:0xff

JTAGEN ist hierbei enabled. Nur so als Hinweis. Nicht daß es gleich 
heisst, daß ein paar I/O Pins nicht funktionieren.
Gast
nö, ist es nicht.
Bei Nicos Beispiel wäre JTAGEN enabled

Wobei das Beispiel ohnehin für den Fragesteller irrelevant ist da er 
sicherlich eine vollkommen andere Konfiguration hat :-)
Angehängte Dateien:
Gast
Ich hatte irrtümlicherweise den ATmega644P verwendet, um die fuses zu 
kontrollieren.

Du (Thomas V.) hast den ATmega644PA verwendet. Bei dem sind die Fuses 
anders.
Da ich sowieso quasi immer die gleichen Einstellungen brauche, 
compiliere ich die Fuse-Einstellungen mit ein, zum Beispiel für den 
Mega16M1 auf 16MHz mit Bootloader:
1
FUSES =
2
{
3
  .low = 0xdf,
4
  .high = 0xd8,
5
  .extended = 0xfe,
6
};

Dann beim ersten Brennen das .elf als Production-File brennen und dabei 
den Haken bei Fuses mit aktivieren, fertig.
Copy-Paste ins nächste Projekt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.