Forum: Mikrocontroller und Digitale Elektronik ATmega32L tut nix, ISP geht


von DominikNeise (Gast)


Lesenswert?

Hallo,

hier meldet sich mal wieder ein Newbie mit Anfängerproblemen.
Ich versuche einen ATmega32L dazu zu bringen, irgendetwas zu tun.

Ich sag mal was funktioniert.
(Ich nutze AVR Studio 4 unter Windows)
a) ich kann via ISP seine Signature auslesen, wobei ich im AVR Studio in 
der device Liste nur den "ATmega32" und nicht den "ATmega32L" finden 
kann.
Dennoch meckert AVR Studio nicht, die Signature scheint also zu passen.

b) Ich kann die Fuses programmieren. Ich habe einen 8MHz Quarzt dran und 
ich sehe schön, dass der Quarz anschwingt, wenn ich die SUT_CKSEL
entsprechend programmieren.
Ich sehe auch, dass der Quarz wieder aufhört zu schwingen, wenn ich 
diese
Fuse wieder auf "internal R/C oszi" zurückstelle.

Da hört es auch schon auf. Wenn ich so ein simples Programm wie:
-----------
#include <avr/io.h>

int main (void)
{
  DDRB |= 1<<PB4 | 1<<PB3 | 1<<PB2;
  PORTB |= 1<<PB4 | 1<<PB3 | 1<<PB2;

  DDRC = 0x7f;
  PORTC = 0x7f;
while (1)
{
}
return 0;
}

in den ATmega flashe, gehen diese Pins nicht auf HIGH.
Manche scheinen HIGH zu sein, manche HIGH-Z.

Dummerweise ist die ganze Peripherie auf dem board schon bestückt.
Allerdings sind diese Pins wirklich als Ausgänge vorgesehen, sie sind
mit Muxer Eingängen (ADG704 u. ähnliche) verbunden,
es sollte also kein Problem sein sie zu schalten.

Ich bin natürlich schonmal die AVR Checkliste durchgegangen.


Kann es sein, dass ich ausser den PORT-registern noch irgendetwas 
anderes konfigurieren muss, bevor ich was an diesen PORTs sehen kann?

Oder macht der ATmega32L vielleicht Probleme, weil ich ihn nicht in der 
device-liste des AVR-Studio finden kann?

fällt irgendwem noch ein schöner Test ein, wie ich verifizieren kann, 
dass das Programm, was ich glaube reingeflasht zu haben, auch wirklich 
drin ist?

besten Dank
Dominik

von Floh (Gast)


Lesenswert?

mega32L = mega32 das passt

Schau mal in die Projektoptionen, ob da der richtige uC eingestellt ist.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Flashst Du wirklich die richtige Datei?

von Karl H. (kbuchegg)


Lesenswert?

DominikNeise schrieb:

> in den ATmega flashe, gehen diese Pins nicht auf HIGH.
> Manche scheinen HIGH zu sein, manche HIGH-Z.

Könnte ein Standardfehler sein:

Mega16 oder Mega32  PLUS   Port C

->  hast du das JTAG Interface per Fuse abgeschaltet?

von Spess53 (Gast)


Lesenswert?

Hi

>  DDRC = 0x7f;
>  PORTC = 0x7f;

JTAG (Fuse) abgeschaltet.

MfG Spess

von DominikNeise (Gast)


Lesenswert?

Ihr seid die Besten!

natürlich habe ich nicht an die JTAG Fuse gedacht.
Aber noch viel schlimmer war, dass Knut Ballhause recht hat :-)

Ich habe offenbar so lange nix mehr mit dem AVR Studio gemacht,
dass ich doch glatt vergessen habe, dass nicht automatisch
das richtige HEX file in dem programmer Dialog ausgewählt wird.

Kann man das irgendwo ändern, so dass immer das zuletzt gebuildete
file geflasht wird?

Wann ich da wohl von selbst drauf gekommen wäre ...

Vielen Dank nochmal.

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.