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

Gast #4719913
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
Gast #4720028
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
Moderator Persönliche Seite #4720038
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.
Gast #4720211
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
Gast #4721006
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ß
Gast #4721039
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.
Gast #4721060
Lesenswert?
• ▲
▼
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

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.

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.