mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Controller nicht mehr erreichbar," initialization failed, rc=-1 "


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So Hallo,
ich denke ich habe meinen Atmega verfuset, ich habe einen ISP programmer 
von Diamex

Der avrdude Befehl -> -U lfuse:w:0xff:m -U hfuse:w:0xda:m -U 
efuse:w:0x05:m
seit dem geht nichts mehr.In den Eimer oder kann ich noch was retten ?

Gruß

: Verschoben durch Moderator
Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> So Hallo,
> ich denke ich habe meinen Atmega verfuset, ich habe einen ISP programmer
> von Diamex
>
> Der avrdude Befehl -> -U lfuse:w:0xff:m -U hfuse:w:0xda:m -U
> efuse:w:0x05:m
> seit dem geht nichts mehr.In den Eimer oder kann ich noch was retten ?
>
> Gruß

Es geht um einen Atmel 328 8Mhz

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> In den Eimer oder kann ich noch was retten ?

Wenn er HIGH-Voltage-Parallel-Programming unterstützt, kann man ihn mit 
einem STK500 oder neuer "wiederbeleben".

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke mal nicht dass es so einer ist, welcher würde das können bzw. 
kann man empfehlen ? Das geschieht aber dann trotzdem via ISP, ohne 
zusätzlichen gedönns ?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt mal 2 neue 328 bestellt, aber mir ist noch was 
aufgefallen, ich hab wohl nur das l fuse falsch gesetzt und bin jetzt 
von internal clock auf external clock, der ist aber nicht eingelötet

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> auf external clock, der ist aber nicht eingelötet

Dann klemm vorübergehend einen externen Takt dran.  Wenn du nichts
hast, nimm einen anderen ATmega, und lass ihn einen Takt ausgeben.
Beim ATmega328 genügt es dafür, die low fuse von 0x62 (default) auf
0x22 zu setzen, dann tickert er seinen 1-MHz-Takt an PB0 heraus.

Mit dem angeklemmten externen Takt kannst du die verbogene Fuse
dann wieder zurückdrehen.

Autor: nico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hello,
To unlock microcontroller you can use an block oscillator (1MHz), or a 
build one with only one CD4011 and quartz anythig between 500kHz and 
20MHz. The signal will be applied on pin 9 of uC. Then you can restore 
to factory fusebits.
Or, if know you may lock another uC it is better build HVPP rescue 
shield (from MightyOhm site) and use it in conjunction with Arduino.
Best regards

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nico schrieb:
> To unlock microcontroller you can use an block oscillator (1MHz)

Ein zweiter ATmega328 tut's aber genauso, und einen solchen hat er
ja offenbar.

(A second ATmega328 will do as well, and obviously, he's already got
one of those.)

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab noch einen Arduino mit 16mhz rumliegen, ich werde da einfach mal 
zwei Brücken zu meiner Platine legen und hoffen das es geht.

Gruß

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen dank, es hat funktioniert. Zum Thema Fuse, die kann ich auch 
nachträglich oder als erstes auch setzen und die müssen nicht mit dem 
übertragen des Programmes gesetzt werden? Ich kam bisher eben noch nicht 
damit richtig in Berührung,und hatte mich damit beschäftigt weil dieses 
Board nicht richtig will.
Als Beispiel ich wollte einen Ausgang toggeln, leider wurde er nur 
einmal eingeschaltet und nie wieder aus. Ich dachte dann vllt. passen 
die Fuse nicht.

Gruß

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die Fuses kannst du unabhängig vom Programm in einem separaten 
avrdude Aufruf setzen. Ich ändere die Fuses nur, wenn es unbedingt nötig 
ist.

Die meisten meiner Anwendungen kommen mit den Standardeinstellungen aus. 
Die Taktfrequenz (Prescaler) kann man bei vielen AVR's auch per Software 
ändern.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, und hast vllt ne Ahnung wieso das mit dem Toggeln nicht geht ?
    DDRD = (1<<PD7);
    TCCR1B |= _BV(CS10); // Set up timer
    
    
    while(1)
    {
        if (TCNT1 >= 49999){
            PORTD ^= (1<<PD7);
            TCNT1 = 0; // Reset timer value
        }
        
    }

: Bearbeitet durch Moderator
Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> Okay, und hast vllt ne Ahnung wieso das mit dem Toggeln nicht geht ?

Woher weißt du, dass es nicht geht?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil die LED nicht blinkt bzw weniger leuchtet ?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan schrieb:
> Weil die LED nicht blinkt bzw weniger leuchtet ?

Weil du es einfach nicht merkst?

Häng ein Oszilloskop dran, dann wirst du sehen, dass sie "blinkt".

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.