Wie der Titel bereits sagt, ist mir der typische Anfängerfehler
passiert, mich durch Verfusen auszusperren. Zum Fuse setzen verwende ich
avrdude-GUI. Ich wollte den Microcontroller eigentlich nur mal durch
setzen von CKDIV8 auf 1Mhz laufen lassen und dann den Stromverbrauch
messen aber denkste... Dummerweise sind die Felder für das Low und High
Byte beim AVR Fuse Calculator und avrdude-GUI genau entgegengesetzt
angeordet, so dass ich die Bytes falsch herum gepastet habe.
Nun habe ich dadurch RSTDISBL gesetzt und auch noch SPIEN nicht gesetzt,
sprich ich komme über SPI nicht mehr dran.
Gibt es eine andere Möglichkeit als mir das 80€ teure STK500 von Atmel
zu kaufen um den Microcontroller zu retten? Wenn nicht werf ich ihn weg
und kauf mir für 5€ einen neuen.
Wenn du dazu schreibst, welche Fuses du genau gesetzt hast und welche du
setzen wolltest, kann man drüberschauen und dir ggf. einen Tip geben.
Ansonsten kann man nur raten.
Ich wollte:
low: 0x62
high: 0xD9
extended: 0x07
setzen und habe
low: 0xD9
high: 0x62
extended: 0x07
gesetzt.
Zum Programmieren verwendet ich einen anderen Atmega auf den ich das
ArduinoISP sketch geladen habe.
Also SPIEN kannst Du über SPI gar nicht setzen. RSTDISBL leider schon.
Ich würde mal behaupten, Du hast es richtig gemacht. :-)
Grundsätzlich ist die Anschaffung eines STK500 nicht die verkehrteste,
aber schau Dir mal bitte Seite 310 im Datenblatt an. Du mußt ja nur die
Fusebits wieder richten, dann kannst Du alles andere wieder wie gewohnt
ansprechen.
Entweder schreibst Du ein kleines Progrämmchen, was Dir die Arbeit
erledigt oder sonst tun es auch ein 10er Mäuseklavier+Pullups und zwei
entprellte Taster für XTAL1 und /WR und deren korrekte Bedienung.
Gruß
Jobst
Seite 310 beschreibt doch im Prinzip das SPI Protokoll oder?
"Apply power between VCC and GND while RESET and SCK are set to “0”."
(http://www.sparkfun.com/datasheets/Components/SMD/ATMega328.pdf - Seite
309)
Und Reset funktioniert ja nicht, da der Pin derzeit als stinknormaler
I/O Pin definiert ist. :/
notty ak schrieb:> Stephan schrieb:>> Wenn nicht werf ich ihn weg>> und kauf mir für 5€ einen neuen.>> 5 euro? In der Apotheke? ;-)
In der Apotheke namens Conrad. Ja, die haben teilweise echt unverschämte
Preise aber ich habe das Glück in Berlin zu wohnen und kann dort in
einem der Läden das Zeug selber abholen.
Ich wüsste zumindest nicht, wo ich den 328p günstiger bekäme. Liefern
lassen kommt nicht in Frage, da bezahle ich ja mehr Versand als das Teil
wert ist. :o
Wenn du natürlich einen heißen Tipp hast, immer her damit!
Ich werde es nun hier mit probieren:
http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/
Muss mir nur noch den Transistor besorgen, dann bau ich das nach und
werde berichten obs geklappt hat. Klingt zumindest vielversprechend.
Stephan schrieb:> In der Apotheke namens Conrad. Ja, die haben teilweise echt unverschämte> Preise aber ich habe das Glück in Berlin zu wohnen und kann dort in> einem der Läden das Zeug selber abholen.> Ich wüsste zumindest nicht, wo ich den 328p günstiger bekäme. Liefern> lassen kommt nicht in Frage, da bezahle ich ja mehr Versand als das Teil> wert ist. :o> Wenn du natürlich einen heißen Tipp hast, immer her damit!
Hi!
Stimmt, der Versand ist teurer als der µC, aber beides zusammen
vielleicht trotzdem billiger als der Conrad-Preis.
CSD-Electronics: ATmega328P 2,27 Euro + 3,75 Versand
(Sonderpreis, gilt wahrscheinlich nur noch bis Mitternacht)
guloshop.de: ATmega328P 2,20 Euro + 2,40 Versand
(regulärer Preis)
An deiner Stelle würde ich aber den billigeren ATmega328 ohne P nehmen.
Der Strom-Mehrverbrauch ist kaum messbar, schau einfach ins Datenblatt.
> Muss mir nur noch den Transistor besorgen, dann bau ich das nach und> werde berichten obs geklappt hat. Klingt zumindest vielversprechend.
Habe auch schon davon gelesen, dass man die Fuses ohne
Spezial-Programmer rücksetzen kann, wenn man den HV-Rücksetzbefehl mit
einem Taster genau nach Datenblatt eingibt. Wenn mans nur einmal
braucht, bestimmt einfacher.
> Stimmt, der Versand ist teurer als der µC, aber beides zusammen> vielleicht trotzdem billiger als der Conrad-Preis.>> CSD-Electronics: ATmega328P 2,27 Euro + 3,75 Versand> (Sonderpreis, gilt wahrscheinlich nur noch bis Mitternacht)>> guloshop.de: ATmega328P 2,20 Euro + 2,40 Versand> (regulärer Preis)>
Hui, na das ist mal ein Argument. Werde ich gleich mal Bookmarken. :)
> An deiner Stelle würde ich aber den billigeren ATmega328 ohne P nehmen.> Der Strom-Mehrverbrauch ist kaum messbar, schau einfach ins Datenblatt.>
Wusste gar nicht, dass es den ATmega328 auch ohne p gibt. Bei Reichelt
und Conrad bekommt man nur den p. Die Stromsparfunktionen können mir in
der Tat egal sein, da ich die Controller bei meinen aktuellen Projekten
eh am Netz betreibe.
> Habe auch schon davon gelesen, dass man die Fuses ohne> Spezial-Programmer rücksetzen kann, wenn man den HV-Rücksetzbefehl mit> einem Taster genau nach Datenblatt eingibt. Wenn mans nur einmal> braucht, bestimmt einfacher.
Ich habe mir jetzt mal das aktuelle Datenblatt (Seite 305 - 310)
angeschaut: http://www.atmel.com/Images/doc8271.pdf
Das könnte wirklich klappten. Sieht witzig aus, vielleicht mach ich mir
sogar den Spaß. Diesen "Fuse Doctor" bau ich mir aber trotzdem
zusätzlich nach. Man weiß ja nie. :)
So, da bin ich wieder.
Ich habe mir nun einen Arduino HV-Programmer auf nem Bread Board
nachgebaut:
http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/
Einmal den go Button gedrückt und schon waren die Fuses wieder so wie
sie sein sollen. :)
Hätte gerne auch die Mäuseklaviermethode probiert, aber dafür haben die
Steckverbinder leider nicht gereicht. Egal, der Atmel lässt sich
jedenfalls wieder resetten und programmieren. Mission erfolgreich. :)