Fuses programmieren, so richtig?

OP #5066977
Lesenswert?

Hi,

Ich möchte einen ATMega8-16PU so programmieren, dass er einen 16MHz
externen Quarz(HC49U-S Ausführung) benutzt.

Auf der Seite von der ich das Projekt habe, was ich versuche zu 
programmieren steht Low Fuse = 0xFF; High Fuse = 0xC9.

Kann man die so programmieren, wenn an XTAL1 und XTAL2 der Quarz 
angeschlossen ist?

Ich habe noch grundsätzliche Verständniss Probleme mit den Fuses.
Wofür werden sie genau gebraucht?
Wo werden sie gespeichert?
Wie werden sie vom µC verwendet(beim Start)?

Danke!
Moderator Persönliche Seite #5066995
Lesenswert?

Tim S. schrieb:

> Kann man die so programmieren, wenn an XTAL1 und XTAL2 der Quarz
> angeschlossen ist?

Ja.  Wichtig ist, dass CKOPT gesetzt ist (Bit 4 der High Fuse = 0),
das ist standardmäßig gelöscht.  Für einen 16-MHz-Quarz wird es
benötigt.

Ansonsten sind die Startup-Einstellungen shr vorsichtig, d. h. er
braucht lange, bis er wirklich dem Takt übern Weg traut und die CPU
startet.

> Ich habe noch grundsätzliche Verständniss Probleme mit den Fuses.
> Wofür werden sie genau gebraucht?

Um bestimmte Features einzustellen, die bereits beim Powerup eingelesen
werden sollen und die sich nicht vom Programm aus ändern lassen dürfen.

> Wo werden sie gespeichert?

In speziellen Flash-Speicherzellen.

> Wie werden sie vom µC verwendet(beim Start)?

Sie werden eingelesen in interne Speicherzellen (Flip-Flops), von
denen aus sie dann in der Logik bestimmte Signalwege schalten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren