Controller nicht mehr erreichbar," initialization failed, rc=-1 "

Gast #4719913
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
Gast #4719974
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 ?
Gast #4720028
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
Moderator Persönliche Seite #4720038
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.
Gast #4720211
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
Gast #4721006
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ß
Gast #4721039
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.
Gast #4721060
Okay, und hast vllt ne Ahnung wieso das mit dem Toggeln nicht geht ?
1
    DDRD = (1<<PD7);
2
    TCCR1B |= _BV(CS10); // Set up timer
3
    
4
    
5
    while(1)
6
    {
7
        if (TCNT1 >= 49999){
8
            PORTD ^= (1<<PD7);
9
            TCNT1 = 0; // Reset timer value
10
        }
11
        
12
    }

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.