www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fuse Bits setzen


Autor: Stefan W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin leider etwas durcheinander geraten, mit invertierter logik usw..

Ich möchte einen ATMega8 mit einem Standartquarz 3,6848 MHz betreiben:

genau wie es auf dieser seite beschrieben ist, ganz unten:

http://s-huehn.de/elektronik/avr-prog/avr-prog.htm


leider habe ich nur linux und avrdude ;-)

das ist der aktuelle Zustand:

avrdude: safemode: lfuse reads as E1
avrdude: safemode: hfuse reads as 99
avrdude: safemode: Fuses OK



Wenn ich also meinen Möchtegern Zustand auf diesen Rechner:
http://palmavr.sourceforge.net/cgi-bin/fc.cgi

übertrage werden diese Werte errechnet:


Current:   0xBF  0x99


Damit hätte ich die gewünschte Einstellung +
SPI und aktiven Watchdog Timer (war ursprünglich ja auch aktiviert)


Stimmt das? Würde mich nur gern vergewissern bevor ich flashe.

Vielen Dank
mfG
Stefan

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt.

Deine Einstellung benutzt allerdings die "Ext. Crystal/... High 
Frequency" Einstellung für den Quarz, die erst für Quarze ab 8 MHz 
notwendig ist.

Du bräuchtest für den 3,6848 MHz Quarz nur die "Ext. Crystal/... Medium 
Frequency" Einstellung. Es schadet aber nicht, den Quarz mit mehr Power 
zum Schwingen anzuregen (manche Leute bevorzugen das sogar).

Bist du sicher mit dem Watchdog? Viele Demoprogramme z.B. hier im Wiki 
berücksichtigen den Watchdog im Programmcode nicht. Du wirst dich bei 
denen wundern, dass das Programm nicht das macht, was beschrieben ist 
und was du erwartest, weil der AVR sich nach kurzer Zeit selbst 
resettet.

Autor: Stefan W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Bestätigung und die nette Erklärung!

Ist der Watchdog standardmäsig aktiviert?
Ich habe noch keine Fuses geschrieben und meine ausgelesenen werte sind 
ja:

avrdude: safemode: lfuse reads as E1
avrdude: safemode: hfuse reads as 99


Habe ich es richtig verstanden? wenn die Demoprogramme richtig 
funktionieren sollen, dann sollte ich ihn lieber nicht aktivieren 
(obwohl er bisher aktiviert war) und deshalb diese Werte nehmen:

Current:   0xBF  0xD9

Mein Programm, eine kleine Zahnputzuhr, funktioniert auch soweit. Nur 
das die Zeit manchmal von alleine losläuft obwohl die Start Taste noch 
nicht gedrückt wurde.. Ist vielleicht der aktive Watchdog dir Ursache?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke nicht, dass das Loslaufen von alleine durch den Watchdog 
kommt.

Mehr könnte man vielleicht durch die Analyse des Quelltextes deines 
Programms und ggf. des Schaltplans von angeschlossenen Bedienelementen 
sagen.

Du kannst an dieser Stelle bei den Gusebits auch nichtS kaputt machen, 
wenn du mal mit beiden Einstellungen für den Watchdog experimentierst. 
Du kannst dich nur mit diesem einen Fusebit nicht "aussperren". Eine 
gesunde Vorsicht ist bei anderen Fuses angebracht (s. AVR Fuses.

Du wirst ziemlich schnell sehen, ob dein Programm bei beiden möglichen 
Einstellungen unterschiedlich arbeitet oder nicht. Und die "richtige" 
einstellung kannst du dann weiter benutzen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.