Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom quarzeinstellung vs Fuses einstellung
Hi,
ich hab nach stundenlangen suchen und avr-killen die Fuses für meinen 12,2880 Mhz Quarz so gesetzt wie auf http://halvar.at/elektronik/kleiner_bascom_avr_kurs/fusebits_standard/ für den 8-16Mhz quarz. Ich progge mit Burn-o-mat. Das Programm hat für 20 sec funktioniert, dann gings aufmal nimmer. Der Atmega hat keine Befehle mehr entgegengenommen und ließ sich nicht proggen. Jetzt ist mir aufgefallen, dass in meinem Programm der quarz auf 1mhz gestellt war. Kann das den AVR killen?
mfg,
Flo
Besserwessi
26.09.2009, 23:22
Die Taktangabe am Anfang des BASCOM programms dient dafür, das der Compiler weiss welchen Takt der µC hat. Das wird für Baudraten, Wait Befehle und ähnliches benötigt. Wenn man da einen falschen Wert angibt stimmen dann Baudraten, Wartezeiten, ggf. ADC Takt nicht. Das Programm wird aber trotzdem laufen, wenn auch nicht unbedingt genau so wie geplant.
Den µC kann man damit nicht blockieren oder beschädigen (es sein denn die Schaltung ist so das ein faschen Timing den µC beschädigt: z.B. Überlastung von Ausgängen oder Überspannung erzeugen wenn das Timing nicht stimmt).
mit 1 mHz wäre man aber schon sehr weit daneben: mehr als 10 Zenerpotzenzen !
Das wird eher schon ein Problem mit der Hardware sein: z.B. Kondensatoren am Quarz falsch, sodass der Takt nur manchmal da ist.
Hi,
wenn ich ca 2 stunden warte kann ich für ca 3 sec auf den atmega zugreifen. hab jetzt die Fuses auf die normaleinstellung gebracht. Wenn ich jetzt mein Programm auf den prozessor laden will kommt diese meldung
D:\WinAVR-20090313\bin\avrdude.exe -u -C D:\WinAVR-20090313\bin\avrdude.conf -p m32 -P usb -c usbasp -D -U flash:w:D:\AVR Projekte\Zündbox\Endprogs\Zündbox neu2.hex:a
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e9502
avrdude.exe: reading input file "D:\AVR Projekte\Zündbox\Endprogs\Zündbox neu2.hex"
avrdude.exe: input file D:\AVR Projekte\Zündbox\Endprogs\Zündbox neu2.hex auto detected as Intel Hex
avrdude.exe: writing flash (3948 bytes):
Writing | ################################################## | 100% 31.47s
avrdude.exe: 3948 bytes of flash written
avrdude.exe: verifying flash memory against D:\AVR Projekte\Zündbox\Endprogs\Zündbox neu2.hex:
avrdude.exe: load data flash data from input file D:\AVR Projekte\Zündbox\Endprogs\Zündbox neu2.hex:
avrdude.exe: input file D:\AVR Projekte\Zündbox\Endprogs\Zündbox neu2.hex auto detected as Intel Hex
avrdude.exe: input file D:\AVR Projekte\Zündbox\Endprogs\Zündbox neu2.hex contains 3948 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################avrdude.exe: error: wrong reading bytes b8
Warum geht das jetzt nimmer?
Mfg,
Flo
DaveWagner
27.09.2009, 11:42
Hallo
Da ich auch meinen Atmega fusen möchte habe ich mich auch mit dem Thema beschäftigt.
Dabei sind mir noch ein paar Sachen unklar.
Muss das Programm auf dem Atmega mit der richtigen Frequenz-Einstellung vor dem Fusen schon drauf sein ?
Muss nach dem Fusen der Quarz sofort angeschlossen werden ?
Und sind diese Fuses richtig für einen Atmega8 mit externen Quarz
(8 MHZ)?
Programmierte Fuses:
SPIEN
CKOPT
BOOTSZ1
BOOTSZ0
Der Rest ist unprogrammiert.
Mfg
David
stefan_Z
27.09.2009, 12:56
Welche Fuses man braucht lässt sich hier einfach rausfinden:
http://www.engbedded.com/fusecalc/
Die Seite sollte jeder hier als Bookmark haben!
Die Fuses sind immer unabhängig vom Programm selber.
Flashen, Löschen und der restliche "Regelbetrieb" haben mit den Fuses nichts zu tun, also sie ändern die Fuses nicht.
Falls externer Quarz gewählt ist, muss dieser natürlich auch vorhanden sein. Ansonsten macht der AVR garnichts mehr.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.