Forum: Mikrocontroller und Digitale Elektronik Problem mit AVR Studio ATMEGA 8


von Hendrik (Gast)


Lesenswert?

Ich verwende das Amtel Studio 6 mit AVRISP mkll.

Per default war ein Programm drauf, mit dem man per Taster auf dem 
EVO-Board 4 LED einzeln schalten kann


Ich habe mir ein kleines Programm geschrieben (bzw. aus eurem Tutorial 
ausgeborgt... :-) ... ), dass zwei LED einschaltet und 2 ausschaltet und 
dies so lässt (um die Funktion zu prüfen).

Das Problem:
Wenn ich das Programm per Tools --> Device Programming --> Memories auf 
den µC brenne, dann Leuchten die 2 LED sofort, noch während des 
schreibvorganges wie Vorgesehen.

Sobald der Schreibvorgang allerding zu Ende ist, ist das alte Programm, 
das vorher drauf war, wieder aktiv... (Meine LED gehen aus und ich kann 
sie wieder per Taster schalten). Dies kann ich beliebig oft 
wiederholen...

Er übernimmt das neue Programm nicht. Wenn ich dann den Code 
verifizieren lassen ("verify") oder wieder einlesen ("read") dann läuft 
das neue Programm ebenfalls. Ist der Vorgang abgeschlossen, kommt das 
alte wieder...

Bevor ich ausraste:

Was um himmels willen habe ich falsch gemacht? Kann doch nicht so schwer 
sein.


PS: Schaltung wurde mindestens 500mal geprüft, die ist in Ordnung
Was um himmels willen habe ich falsch gemacht?

Ich bedanke mich schonmal für eure Hinweise!

von katastrophenheinz (Gast)


Lesenswert?

Wenn die LEDS beim Programmieren flackern, dann deutet das darauf hin, 
daß diese auf einer der Leitungen hängen, die SPI fürs Programmieren 
braucht.
Es kann sein, dass der Programmierer mit der Last nicht klarkommt.
-> Vor dem Programmieren dafür sorgen, daß die Leitungen nicht belastet 
oder von anderen Quellen getrieben werden, d.h. LED vor dem 
Programmieren rauszupfen und nach dem Programmieren wieder einsetzen.

von Martin K. (maart)


Lesenswert?

Und wenn du den Chip mal explizit löschst?

von Hendrik (Gast)


Lesenswert?

Also wenn ich den Chip lösche und neu beschreibe dann ändert sich nichts 
an dem Verhalten...

Stimmt, die Datenleitungen werden laut Schaltplan auch fürs 
programmieren verwendet. Jetzt weiß ich zunmindest warukm die Blinken...

Ok, ich werde direkt mal versuchen, die LED's rauszuzupfen und nach dem 
programmieren wieder einzusetzten. Melde mich wieder.

Muss ich irgentetwas an den Fuses ändern oder sind die von Werk aus 
schon richtig eingestellt? (Verwende den internen 1MHz Ozilator, 
Standardeinstellung.)

von katastrophenheinz (Gast)


Lesenswert?

> Also wenn ich den Chip lösche und neu beschreibe dann ändert sich nichts
> an dem Verhalten...
Dann hat das ChipErase auch nicht funktioniert.

> Muss ich irgentetwas an den Fuses ändern oder sind die von Werk aus
> schon richtig eingestellt? (Verwende den internen 1MHz Ozilator,
> Standardeinstellung.)
für blinken reichen die 1MHz aus. -> Wenn der Prozessor frisch aus der 
Fertigung kommt, an den Fuses nichts ändern. Du wirst aber an den Fuses 
sowieso nichts ändern können, solange wie du keine funktionierebde 
Verbindung zw. Programmierer und Target hergestellt hast.

von Martin K. (maart)


Lesenswert?

Kannst du denn die Device-ID auslesen? So kannst du mal testen, ob ISP 
überhaupt funktioniert.
>Also wenn ich den Chip lösche und neu beschreibe dann ändert sich nichts
>an dem Verhalten...

Und du hast auch wirklich die richtige hex-Datei zum Brennen 
ausgewählt?

von Hendrik (Gast)


Lesenswert?

ID und Spannung sind auslesbar.

Die richtige Hex-Datei? Er hat beim compilieren nur eine erzeugt und die 
habe ich genommen....?

von Hendrik (Gast)


Lesenswert?

OK, ich habe die Hex Datei überprüft, es ist die Richtige.


Ich habe dann mal den Vorschlag ausprobiert, alle Perepherie 
abzustöpseln, den µC zu programmieren und dann die Teile alle wieder 
anzustöpselen.

Und siehe: Alles geht auf einmal wie es soll!

Gegenversuch: Alles angestöpselt lassen und (wieder angestöpselt) 
programmieren.

Und siehe: Es geht nun weiterhin...

Ich würde das gerne verstehen... kann es mir jemand erklären?

von Full STOP (Gast)


Lesenswert?

Hendrik schrieb:
> Ich würde das gerne verstehen... kann es mir jemand erklären?

Das ist genau der Punkt, ab dem hier nur noch Mist zu erwarten ist.

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.