Forum: Mikrocontroller und Digitale Elektronik Fuse für externen 16 MHz Quarz beim Atmega16 setzen


von Alexander Ofner (Gast)


Lesenswert?

Hi Leute,

ich hab ein kleines Problem. Ich möchte meinen Atmega16 gerne mit einem 
16 MHz Quarz betreiben, weil standardmäßig läuft der ja mit dem internen 
Oszillator bei einem MHz. Nur leider werde ich aus dem Datenblatt nicht 
wirklich schlau. Wäre toll, wenn mir jemand weiterhelfen könnte.

MfG Alex

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf

Seite 25ff.

CKOPT     = 0 (Quarz soll stark schwingen, wichtig bei Störeinflüssen 
und über 8 MHz)
CKSEL3..1 = 111 (3.0 - 8.0MHz und darüber, leider nicht im DB 
ersichtlich)
CKSEL0    = 1 (Weil Quarz)
SUT1..0   = 10 (65ms Delay beim Start und kein BOD)

-> Note: 1. For all fuses “1” means unprogrammed while “0” means 
programmed
nich vergessen...

von Alexander Ofner (Gast)


Lesenswert?

Danke für deine hilfreiche Antwort. Ich war eben deswegen etwas 
verwirrt, weil in der Tabelle im Datenblatt keine Angaben für über 8MHz 
gemacht wurden. Aber jetzt ists klar :-)

Danke!!!

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Tim T. wrote:
> CKSEL3..1 = 111 (3.0 - 8.0MHz und darüber, leider nicht im DB
> ersichtlich)

Natürlich schon wenn auch etwas umständlich:

3.0 - 8.0MHz bei CKSEL3..1 = 111 und CKOPT = 1
bzw.
>=1.0 MHz bei CKSEL3..1 = 111 und CKOPT = 0 (Wie es auch auf S.26 steht)

Wichtig ist auf jeden Fall CKOPT = 0

von Bensch (Gast)


Lesenswert?

Wobei noch zu erwähnen wäre, dass der AVR PROG bei manchen uPs keine 
CKOPT Fuse setzen kann (z.B. mega32). Besser ist da AVR OSP II, da muss 
man auch nicht gross rätseln, sondern kriegt vernünftige 
Auswahlmöglichkeiten.

von Alexander S. (knut740)


Lesenswert?

Tim T. wrote:
> Tim T. wrote:
>> CKSEL3..1 = 111 (3.0 - 8.0MHz und darüber, leider nicht im DB
>> ersichtlich)
>
> Natürlich schon wenn auch etwas umständlich:
>
> 3.0 - 8.0MHz bei CKSEL3..1 = 111 und CKOPT = 1
> bzw.
>>=1.0 MHz bei CKSEL3..1 = 111 und CKOPT = 0 (Wie es auch auf S.26 steht)
>
> Wichtig ist auf jeden Fall CKOPT = 0

Interessiert mich auch sehr!!!
 Nur weiß ich nicht, wie man CKOPT und CKSEL3..0 bzw. CKSEL3..1 eingeben 
kann. Ich benutze AVRStudio und einen Dragon-JTAG-Adapter.
In AVRStudio kann man verschiedene Einstellungen, auch für externe 
Quarze, hineinschreiben, funktionieren tut aber nur der interne 
1-MHz-Taktgeber.

Wäre schön, wenn mir das jemand erklären könnte.

mfg
Alexander

von Thomas Gerdsen (Gast)


Lesenswert?

Der Thread ist zwar schon 1 Jaht alt, aber ich interessiere mich auch 
dafür wie man dann jetzt die Fuse Bits setzt.

Einfach CKOPT=0; geht nicht.

In welchem Register kann ich die Bits verändern?


Danke!

von Johannes M. (johnny-m)


Lesenswert?

AVR Fuses
Die kann man in keinem Register ändern! Die müssen separat 
programmiert werden und sind nicht durch das Anwenderprogramm 
änderbar! Hat sich das immer noch nicht rumgesprochen?

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
Noch kein Account? Hier anmelden.