Forum: Mikrocontroller und Digitale Elektronik kann atmega32 nur einmal programmieren? fuse bits?


von michi (Gast)


Lesenswert?

Hallo Profis,

ich bin am verzweifeln...

Mit dem AVR Studio programmiere ich einen atmega32, der auf dem Pollin 
Eval Board steckt.
Als programmer benutze ich einen avrisp MKII

Der m32 läuft mit einem 12.288MHz quarz.

Programmiere ich den Controller zu ersten Mal, funktioniert alles 
einwandfrei und der Controller tut seinen Dienst.

Leider kann ich ihn anschließend nicht nochmal programmieren - der 
avrisp bekommt keine Verbindung.

Ich vermute mal, dass das an der Umstellung vom internen 1MHz Oszi auf 
den externen XTAL liegt, aber es muss doch möglich sein, ihn trotzdem 
erneut zu programmieren... zumal der Quarz ja schwingt und der 
Controller arbeitet.

Meine Einstellung im AtmelStudio für SUT_CKSEL ist 
"EXTHIFXTALRES_16KCK_64MS
und die ISP Clock steht auf 125khz.

Kann mir jemand auf die Sprünge helfen, warum ich keine Verbindung mehr 
zum Controller bekomme?

Danke für alle Tips!!!

von Georg G. (df2au)


Lesenswert?

Wie sehen die anderen Fusebits aus? Hast du ISP abgeschaltet? Dann 
rettet dich der AVR-Fuse Doktor, n+1 threads hier im Forum.

von c-hater (Gast)


Lesenswert?

michi schrieb:

> Der m32 läuft mit einem 12.288MHz quarz.

Sicher? Wie genau überprüft?

> Meine Einstellung im AtmelStudio für SUT_CKSEL ist
> "EXTHIFXTALRES_16KCK_64MS
> und die ISP Clock steht auf 125khz.

Sicher? Wie genau überprüft? Wie sind die restlichen Fuses gesetzt? 
(Hexzahlen sagen mehr als die etwas spröde Atmel-Lyrik im Dialog des 
Studio)

> Kann mir jemand auf die Sprünge helfen, warum ich keine Verbindung mehr
> zum Controller bekomme?

Kann es sein, dass die Erstprogrammierung ohne die Schaltung der 
geplanten Anwendung erfolgt, die nachfolgenden Versuche aber mit dieser 
Schaltung?

von michi (Gast)


Lesenswert?

Guten Morgen und vielen Dank für die Antworten.

Die Fusebits, die ich beim ersten Programmieren setze, sind wie folgt:

Low  = 0x99
High = 0xff

Die einizge Einstellung, die ich verändert habe, ist die für den 
externen Quarz.

Das der externe Quarz läuft, kann ich am Ausgangssignal des controllers 
mit dem Oszilloskop messen. Der erzeugt an einem Pin ein Rechtecksignal, 
was nicht stimmen würde, wenn der interne takt liefe.


Ich habe es jetzt nochmal am Laptop mit avrdude probiert.
Damit kann ich den controller problemlos neu programmieren...

avrdude -p m32 -c avrisp2 -U hfuse:w:0x99:m -U lfuse:w:0xff:m -U 
flash:w:main.hex

Nur im Atmel Studio funktioniert es nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.