Forum: Mikrocontroller und Digitale Elektronik AVR ATmega328p läuft nach Reset nicht an


von Florian W. (kugelfisch2)


Angehängte Dateien:

Lesenswert?

Hallo,

mein Name ist Florian und ich lese hier schon länger mit und habe schon 
einige Probleme mit der SuFu lösen können. Echt ein super Forum hier! 
Leider bin ich jetzt mit meinem Latein am Ende.

Mein ATmega328p läuft nach einem Reset (Reset-Pin nach GND) nicht an. 
Aber wenn ich das ganze aus- und wieder einschalte läuft er eigentlich 
zuverlässig an.

Der AVR sitzt auf dem STK600 Board. Der ganze PortB ist mit den LEDs 
verbunden und der TXD/PD1 mit dem RS232 TXD beides auch vom STK600. 
Weiters ist nur noch der ISP angesteckt. (siehe auch Bild)
Die Fuses sind auf den internen Taktgeber mit 8Mhz und ohne Vorteiler 
gesetzt, also volle 8Mhz. Brown-out ist auf 4,3V. (die Fuses hab ich 
auch als Bild von http://www.engbedded.com/fusecalc angehängt)
Das Programm macht im Moment nichts anderes als die LEDs am PortB zu 
toggeln und über den seriellen Bus eine Variable auszugeben damit ich 
sehe ob das Ding lebt. Sobald er läuft klappt das auch.

Das komische ist jetzt das er mit der angehängten main.c nach dem 
flashen oder drücken der Resettaste nicht anläuft, sehr wohl aber nach 
dem Aus- und wieder Einschalten des ganzen STK600. Wenn ich die 
auskommentierte Zeile
1
PORTB |= (1<<PB7);
 aktiviere und flashe läuft der AVR auch nach einem Reset ohne Probleme 
an.
Ein bisschen Voodoo-mäßig läuft er auch manchmal an wenn mit den Fingern 
über die Pins fahre oder mit dem Multimeter die Spannung daran messe?!
Sobald ich mir den Takt über PB0 ausgeben lasse, ist er übrigens auch 
immer sofort gelaufen.
Ein zweiter ATmega328p den ich noch rumliegen habe zeigt allerdings 
genau die selben Symptome.

Hat jemand eine Idee woran das liegen könnte? Sind die Dinger vllt. 
einfach hinüber? Oder übersehe ich einfach etwas ganz banales?

lg
Florian

von Oliver R. (orb)


Lesenswert?

Ich kenn das STK600 nicht, sieh mal nach, ob da ein PullUp-Widerstand am 
Reset-Pin vorhanden ist. Wenn nicht, einfach mal 10k gegen 
Betriebsspannung da anlegen.

von Florian W. (kugelfisch2)


Lesenswert?

Mit dem Multimeter messe ich ca. 9k gegen VCC, der Resetjumper ist 
gesetzt (damit kontrolliert das STK600 den Reset, könnte man abziehen 
wenn man den Reset an eine eigene Schaltung hängen will). Und der Reset 
Pin ist auch schön auf VCC (4,9V).

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.